Optimalizácia animácie časticového systému Flash CS3
Teraz, keď máme FlashR Animácia snehových zrážok v časticovom systéme CS3 funguje presne tak, ako chceme, je čas optimalizovať programový kód scény v snehu. Ak ste vyskúšali animáciu, ktorú sme napísali v predchádzajúcich príručkách, pravdepodobne ste si všimli, že po určitej dobe má animácia tendenciu zadávať prostriedky vášho počítača. V tomto návode sa pozrieme na niekoľko spôsobov, ako zefektívniť animáciu.

Keď kód teraz stojí, pomocou jedného poslucháča udalostí počúvame každý nový rámec animácie. S každým novým rámom vytvorí funkcia snehová vločka (obsluha udalostí) novú snehovú vločku a pridá túto snehovú vločku do zoznamu zobrazení Flash. Ďalej pomocou Math.random () randomizujeme polohu a alfa vlastnosti tejto snehové vločky. Pomocou druhého poslucháča udalostí nazývame funkciu sneženia, opäť pri každom novom snímke. Funkcia sneženia skontroluje, či sa snehová vločka posunula za pravý alebo spodný okraj stolíka. Ak áno, odstránime druhého poslucháča udalostí, ktorý opakuje funkciu sneženia. To spôsobí, že jedna snehová vločka prestane padať, zatiaľ čo ostatné snehové vločky budú naďalej padať. Opakovaním funkcie snehových vločiek sa vytvorí animácia sneženia. Teraz musíme zmeniť kód tak, aby bol efektívnejší.

Metóda jedna

Prvá metóda vyžaduje, aby sa do nášho programu pridal iba jeden riadok kódu. Vo funkcii sneženia už máme podmienené vyhlásenie, ktoré skontroluje, či snehová vločka neprekročila etapu, a ak áno, odstráni poslucháča udalostí a zabráni padaniu snehových vločiek.
Snehová vločka sa prestane pohybovať, ale je stále viditeľná v spodnej časti javiska. Pretože je Flash stále viditeľný a stále je na zozname zobrazených položiek, Flash stále vynakladá prostriedky na túto snehovú vločku. Ak zo zobrazeného zoznamu odstránime snehovú vločku, uvoľnia sa tým zdroje a animácia bude efektívnejšia. Na odstránenie snehových vločiek, ktoré už nepotrebujeme na zozname zobrazení, môžeme do podmieneného príkazu pridať kód removeChild.

ak (_Snowflake.y> 370 || _Snowflake.x> 550)
{
stage.removeEventListener (Event.ENTER_FRAME, snowfall);
removeChild (_Snowflake);
}
inak
{_Snowflake.y + = 5; _Snowflake.x + = Math.random () * 10; }


Pri testovaní filmu snehové vločky zmiznú, keď sa dostanú k pravému alebo dolnému okraju javiska a animácia je efektívnejšia.

Ďalej →

Copyright 2018 Adobe Systems Incorporated. Všetky práva vyhradené. Snímky obrazovky produktov spoločnosti Adobe dotlačené so súhlasom spoločnosti Adobe Systems Incorporated. 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 a Flash Paper je / sú [a] registrované ochranné známky alebo ochranné známky spoločnosti Adobe Systems Incorporated v USA a / alebo iných krajinách.