Flash CS3 Math.random () ile Rüzgar Efekti
Artık kar tanemiz Flash'ımıza düşüyorR, partikül sisteminde, ActionScript 3 kodunu biraz değiştirelim. Pulumuz düz düşüyor. Ancak, kesinlikle rüzgar olmadıkça, çoğu pul bir eğimde aşağı doğru hareket eder. Öyleyse, pulumuzun düştükçe hafifçe sağa hareket etmesini sağlamak için biraz matematik kullanalım. Daha fazla gerçekçilik eklemek için, kar tanesi sahneden aşağı inerken yatay hareket miktarının değişmesini istiyoruz.

Bu serideki önceki eğitimlerimizden birinde, sahnenin üst kısmı boyunca yatay olarak farklı konumlarda pul yerleştirdiğimizi unutmayın. Bunu, her pul için X konumu için farklı değerler ayarlayarak yaptık. Bu öğreticide, animasyondaki yatay hareketi kontrol etmek için aynı _Snowflake.x özelliğini tekrar kullanabiliriz.

İkincisi, pulumuzu yarattığımızda, pulun ilk X ve Y pozisyonlarını rastgele bir sayıya ayarladık.

_Snowflake.x = Math.random () * 510;
_Snowflake.y = Math.random () * 40;

Rasgele yatay hareket miktarını kontrol etmek için aynı Math.random () yöntemini kullanabiliriz. Sonra ne olacağını tahmin ettin mi?

Flash filmimizin her karesinde kar yağışı işlevi dediğimizi biliyoruz.

stage.addEventListener (Event.ENTER_FRAME, kar yağışı);

Bu işlev her kare için __Snowflake.y özelliğini 10 artırır. Pul sahneyi aşağıya hareket ettiren şey budur.

_Snowflake.y + = 10;

Ancak bu, daha sonra ekleyeceğimiz ince yatay hareketi görmek için çok hızlı. Yani, 10'u 5'e değiştirerek biraz yavaşlatalım.

_Snowflake.y + = 5;

Şimdi pulları yatay olarak sağa taşımak için aynı kodu kullanabiliriz. Tek yapmamız gereken_Snowflake.y yerine_Snowflake.x dosyasını değiştirmek.

_Snowflake.x + = 10;

Şimdi kar tanesi Flash filmimizdeki her karede 10 piksel sağa ve 5 piksel aşağı hareket edecek. Ancak, kartanenin yatay hareketinin sahnede aşağı inmesi nedeniyle daha rastgele olması daha gerçekçi olurdu. Bunu, 10'u 0 ile 9 arasında rastgele bir sayı ile değiştirerek yapabiliriz. Bunu yapmak için Math.random () kullanacağız.

_Snowflake.x + = Math.random () * 10;

Daha sonra, bu yeni kodu kar yağışı işlevine ekliyoruz ve alıyoruz.

eğer (_Snowflake.y> 370)
{stage.removeEventListener (Event.ENTER_FRAME, kar yağışı); }
Başka
{_Snowflake.y + = 5;
_Snowflake.x + = Math.random () * 10;}

Ama şimdi pulu sağa doğru hareket ettirdiğimize göre, sonunda ekranın sağ tarafının ötesine geçebilir. Sahnenin altına düşerse kar tanesi durduğumuzu unutmayın.

eğer (_Snowflake.y> 370)

Sahnenin sağ tarafının ötesine geçerse de durdurabiliriz. Bunu koşullu ifademize ekleyelim. Bu koşullardan ilki VEYA ikincisi doğruysa animasyonun durmasını istediğimiz için || if ifadesindeki iki koşul arasında operatör.

eğer (_Snowflake.y> 370 || _Snowflake.x> 550)

Bu koşullardan biri doğruysa, Flash ENTER_FRAME olay dinleyicisini kaldırır.

İşte yeni kodumuz.
stage.addEventListener (Event.ENTER_FRAME, kar yağışı);

var _Snowflake: mcSnowflake;

_Snowflake = yeni mcSnowflake ();
addChild (_Snowflake);
_Snowflake.x = Math.random () * 510;
_Snowflake.y = Math.random () * 40;

function snowfall (olay: Olay): void
{
eğer (_Snowflake.y> 370 || _Snowflake.x> 550)
{stage.removeEventListener (Event.ENTER_FRAME, kar yağışı); }
Başka
{_Snowflake.y + = 5; _Snowflake.x + = Math.random () * 10; }
}


Filminize mesaj yazdığınızda, kar tanesi artık sahnenin en altına düştüğünde yatay hareketini değiştirecektir. Kar sahnenizi SnowScene6.fla kaydedin.

Telif Hakkı 2018 Adobe Systems Incorporated. Tüm hakları Saklıdır. Adobe ürün ekran görüntüleri, Adobe Systems Incorporated'ın izniyle kullanılmıştır. Adobe, Photoshop, Photoshop Albümü, Photoshop Elements, Illustrator, InDesign, GoLive, Acrobat, Cue, Premiere Pro, Premiere Elements, Köprü, After Effects, InCopy, Dreamweaver, Flash, ActionScript, Havai Fişek, Contribute, Captivate, Flash Catalyst ve Flash Paper Amerika Birleşik Devletleri ve / veya diğer ülkelerde Adobe Systems Incorporated'in [a] tescilli ticari markaları veya ticari markalarıdır.