Több Math.random () módszer a részecskerendszerben
Az utolsó bemutatónkban befejeztük a havazás animációt a Flash CS3 részecskerendszerünkhöz. Először készítettünk és animáltunk egy hópehelyet. Ezután sok animált hópelyheket készítettünk a havazás animáció befejezéséhez. A film tesztelésekor azonban nem voltunk nagyon elégedettek az eredményekkel, mivel a hópelyhek hiányzik a színpad bal alsó sarkából.

Mit tehetünk az animációnk beállításához? Mint most kódolták, egy hópehely élettartama bárhol megkezdődhet a színpad teteje mentén, az X tengelyen 0 és 510 közötti pozícióban. Ezután ez a hópehely lefelé halad szögben jobbra. Úgy tűnik, hogy ez a szögirány miatt hiányzik a hópelyhek a színpad bal alsó sarkából. Ki tudnánk venni a kódot, amely létrehozza a szögmozgást, és hópelyhek egyenesen esnek le a színpadon. Ha ezt megtennénk, a havazás az egész színpadot lefedi, de elveszítjük a szél illúzióját, amelyet a szögmozgás szimulál.

Tegyük fel, hogy meg akarjuk tartani a szél illúzióját, ezért meg kell tartani a szögmozgást. Mint fentebb említettük, hópelyhek bárhol megkezdődhetnek a színpad teteje mentén. Ugyanakkor még azok a hópelyhek is, amelyek a színpad bal oldalától (az X tengelyen lévő 0 helyzetben) esnek le, a színpad aljára kerülnek, és a bal terület üres lesz. Hogyan változtathatjuk meg kódot úgy, hogy néhány hópehely a függőleges Y tengely alsó pontján lépjen be a színpadra, és ezért esik át a színpad bal sarkán. Anélkül, hogy túl sokat tanulnánk a kezdő oktatóinak, meg kell kezdenünk hópelyhek készítését a bal oldali színpadi területen kívül. Noha ezek a hópelyhek láthatatlanok lesznek életük megkezdésekor, az út legalább felén leesnek a függőleges Y tengelyen, mielőtt belépnének a színpadra, és láthatóvá válnak. Ezzel biztosítjuk, hogy ezek a hópelyhek a színpad bal alsó sarkába esjenek.

Jelenleg véletlenszerű számot generálunk a_Snowflake.x tulajdonsághoz. Ne feledje, hogy a _Snowflake.x tulajdonság vezérli a hópelyhek kezdeti X helyzetét. Ez a kezdeti helyzet bármilyen szám lehet 0 és 510 között az X tengely mentén.

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

Ha azt mondjuk a Flash-nek, hogy egy -350 és 510 közötti számot használjon, akkor a negatív számmal kezdődő hópelyhek azok a hópelyhek, amelyek végül a színpad bal alsó sarkában esnek át. Ezt megtehetjük egy -350 hozzáadásával a véletlen számhoz, amelyet a Math.random () módszer generál.

_Snowflake.x = -350 + matematikai véletlen () * 510;

Változtassa meg ezt a kódot, és tesztelje a filmjét. Mi történt? Kijavítottuk a problémánkat, és újat okozott. Most a hópelyhek hiányzik a színpad jobb felső sarkából. Miért? A_Snowflake.x tulajdonság (a hópehely elhelyezkedése az X tengely mentén) legnagyobb száma 160 (510 - 350). Az X tengely többi része 161 és 550 között nincs hópehely, ezért a jobb felső sarokban nincs hó. Hogyan kaphatjuk meg a_Snowflake.x tulajdonság számát 0 és 550 között? Bővíthetjük a véletlen szám tartományát 0 és 900 között (550 + 350).

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

Cserélje ki a kódot, és tesztelje újra. Működik. Kész vagyunk? Nem, ha hagyja, hogy ezen animáció egy ideig futjon, akkor észreveszi, hogy az elkezdi a számítógép erőforrásainak feladatait. Néhány változtatást kell végrehajtanunk az ActionScript-en annak hatékonyabbá tétele érdekében.

Megjegyzés: Ez az animációs kód addig nem fejeződik be, amíg az oktató sorozat végét el nem éri. Ne használja ezt a hiányos kódot a Flash projektekben.

Szerzői jog 2018 Adobe Systems Incorporated. Minden jog fenntartva. Az Adobe termék képernyőképe (i) újra kinyomtatva az Adobe Systems Incorporated engedélyével. Adobe, Photoshop, Photoshop Album, Photoshop Elements, Illustrator, InDesign, GoLive, Acrobat, Cue, Premiere Pro, Premiere Elements, Bridge, After Effects, InCopy, Dreamweaver, Flash, ActionScript, Fireworks, Contribute, Captivate, Flash Catalyst és Flash Paper vagy bejegyzett védjegy (ek) vagy az Adobe Systems Incorporated védjegye (i) az Egyesült Államokban és / vagy más országokban.


Video Utasításokat: Learning how to learn | Barbara Oakley | TEDxOaklandUniversity (Lehet 2024).