A Flash CS3 részecskerendszer-animáció optimalizálása
Most, hogy megvan a FlashR A CS3 részecskerendszeres havazás-animáció pontosan úgy működik, ahogyan szeretnénk, ideje optimalizálni a hó jelenet programkódját. Ha kipróbálta az előző oktatóanyagokban írt animációt, akkor valószínűleg észrevette, hogy egy idő után az animáció hajlamos arra, hogy a számítógép erőforrásait igénybe vegye. Ebben az oktatóanyagban néhány lehetőséget fogunk megnézni az animáció hatékonyabbá tételére.

A kód jelenlegi állása szerint egy eseményfigyelőt használunk az animáció minden egyes keretének meghallgatására. Minden új képkockával a hópehely funkció (eseménykezelő) új hópelyhet hoz létre, és hozzáteszi, hogy a hópehely a Flash kijelző listájához. Ezután a Math.random () használatával véletlenszerűsítjük ennek a hópehelynek a helyzetét és az alfa-tulajdonságait. Egy második eseményfigyelőt használunk a hóesés funkció hívására, minden új képkockával együtt. A hóesés funkció ellenőrzi, hogy a hópehely áthaladt-e a színpad jobb vagy alsó széle felett. Ha igen, akkor eltávolítjuk a második Eseményfigyelőt, amely megismétli a havazás funkciót. Ez azt okozza, hogy az egyik hópehely leáll, és a többi hópehely továbbra is esik. A hópehely funkció ismétlése létrehozza a havazás animációt. Most azt kell tennünk, hogy megváltoztassuk a kódot, hogy hatékonyabb legyen.

Első módszer

Az első módszerhez csak egy sor sort kell hozzáadni a programunkhoz. Van már egy feltételes nyilatkozat a hóesés funkcióban, amely ellenőrzi, hogy a hópehely túl lépett-e a színpadon, és ha igen, eltávolítja az eseményfigyelőt és megakadályozza a hópehely esését.
A hópehely leáll, de még mindig látható a színpad alján. Mivel ez még mindig látható és továbbra is a kijelzőn található, a Flash továbbra is erőforrásokat költene erre a hópehelyre. Ha eltávolítjuk a hópehelyet a megjelenítési listáról, akkor ez felszabadítja az erőforrásokat, és az animáció hatékonyabb lesz. A hópelyhek eltávolításához, amelyekre már nincs szükségünk a kijelzőn, hozzáadhatunk egy removeChild kódot a feltételes utasításhoz.

if (_Snowflake.y> 370 || _Snowflake.x> 550)
{
stage.removeEventListener (Event.ENTER_FRAME, havazás);
removeChild (_Snowflake);
}
más
{_Snowflake.y + = 5; _Snowflake.x + = Math.random () * 10; }


A film tesztelésekor a hópelyhek eltűnnek, amikor elérték a színpad jobb vagy alsó szélét, és az animáció hatékonyabb.

Következő →

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: Adobe Flash CS3 Basics (Lehet 2024).