Parçacık Sisteminde Daha Fazla Math.random () Yöntemi
Son eğitimimizde, Flash CS3 parçacık sistemimiz için kar yağışı animasyonunu tamamladık. Önce bir kar tanesi yarattık ve canlandırdık. Sonra kar yağışı animasyonunu tamamlamak için birçok animasyonlu kar taneleri oluşturduk. Ancak filmi test ettiğimizde sonuçlardan pek memnun kalmadık çünkü sahnenin sol alt köşesinde kar taneleri eksik görünüyor.

Animasyonumuzu ayarlamak için ne yapabiliriz? Şimdi kodladığımız gibi, bir kar tanesi hayatına X ekseni üzerinde 0 ile 510 arasında bir pozisyonda sahnenin üst kısmı boyunca başlayabilir. Sonra bu kar tanesi sağa doğru açısal bir yönde aşağı doğru ilerler. Görünüşe göre, kar taneleri sahnenin sol alt köşesinde eksik olan bu açısal yön. Açısal hareketi oluşturan kodu çıkarabiliriz ve kar taneleri hemen sahneye düşer. Eğer bunu yaparsak, kar yağışı tüm sahneyi kaplardı, ancak açısal hareketin simüle ettiği rüzgar yanılsamasını kaybederdik.

Bu rüzgar yanılsamasını korumak istediğimizi ve bu nedenle açısal hareketi korumamız gerektiğini varsayalım. Yukarıda belirttiğimiz gibi, kar taneleri sahnenin üst kısmında herhangi bir yerde başlayabilir. Bununla birlikte, sahnenin en solundan (X eksenindeki 0 konumunda) düşmeye başlayan kar taneleri bile, sahnenin alt ortasına inecek ve sol alanı boş bırakacaktır. Bazı kar taneleri, dikey Y ekseni boyunca daha düşük bir noktada sahneye girecek ve bu nedenle sahnenin sol köşesine düşecek şekilde kodumuzu nasıl değiştirebiliriz. Bu yeni başlayanlar için çok fazla matematiğe girmeden, soldaki sahne alanının dışında kar taneleri oluşturmaya başlamamız gerekiyor. Bu kar taneleri yaşamlarına başladıklarında görünmez olsa da, sahneye girmeden ve görünür hale gelmeden önce dikey Y ekseninin en az yarısına düşecekler. Bunu yaparak, bu kar taneleri sahnenin sol alt köşesine düşecektir.

Şu anda, __Snowflake.x özelliği için rastgele bir sayı üretiyoruz. Kar taneleri için ilk X konumunu kontrol eden şeyin _Snowflake.x özelliği olduğunu unutmayın. Bu başlangıç ​​konumu, X ekseni boyunca 0 ile 510 arasında herhangi bir sayı olabilir.

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

Flash'a -350 ile 510 arasında bir sayı kullanmasını söylersek, negatif bir sayı ile başlayan kar taneleri, sonunda sahnenin sol alt köşesine düşen kar taneleri olacaktır. Math.random () yöntemi tarafından oluşturulan rasgele sayıya -350 ekleyerek bunu yapabiliriz.

_Snowflake.x = -350 + Math.random () * 510;

Bu kod satırını değiştirin ve filminizi test edin. Ne oldu? Sorunumuzu çözdük ve bir başkasına neden olduk. Şimdi sahnenin sağ üst köşesinde kar taneleri eksik. Neden? _Snowflake.x özelliği için en büyük sayı (kar tanesi X ekseni boyunca konumu) 160 (510-350) olacaktır. 161 ve 550 arasındaki X ekseninin geri kalanında kar taneleri yoktur ve bu yüzden sağ üst köşede kar yoktur. 0 ile 550 arasında bir değer elde etmek için __Snowflake.x özelliğinin numarasını nasıl alabiliriz? Rasgele sayı aralığını 0 ile 900 (550 + 350) arasında genişletebiliriz.

_Snowflake.x = -350 + Math.random () * 900;

Kodu değiştirin ve tekrar test edin. İşe yarıyor. Tamam mıyız? Hayır, bu animasyonun bir süre çalışmasına izin verirseniz, bilgisayarınızın kaynaklarını görevlendirmeye başladığını fark edeceksiniz. Daha verimli hale getirmek için ActionScript'te bazı değişiklikler yapmamız gerekiyor.

Not - Bu animasyon kodu, eğitim serisinin sonuna ulaşıncaya kadar tamamlanmaz. Bu eksik kodu Flash projelerinizde kullanmayın.

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.


Video Talimatları: The Map of Mathematics (Nisan 2024).