Optimalizace animace částicového systému Flash CS3
Nyní, když máme FlashR Animace srážkových systémů CS3 fungující přesně tak, jak chceme, je čas na optimalizaci programového kódu sněhové scény. Pokud jste testovali animaci, kterou jsme napsali v předchozích tutoriálech, pravděpodobně jste si všimli, že po nějaké době má animace tendenci zadávat prostředky počítače. V tomto tutoriálu se podíváme na několik způsobů, jak zefektivnit animaci.

Když kód nyní stojí, pomocí jednoho posluchače událostí posloucháme každý nový snímek animace. S každým novým rámečkem vytvoří sněhová vločka (obsluha události) novou sněhovou vločku a přidá tuto sněhovou vločku do seznamu zobrazení Flash. Dále pomocí Math.random () randomizujeme polohu a alfa vlastnosti této sněhové vločky. Pomocí druhého posluchače událostí zavoláme funkci sněžení, opět u každého nového snímku. Funkce sněžení kontroluje, zda se sněhová vločka posunula za pravý nebo spodní okraj jeviště. Pokud ano, odebereme druhý posluchače událostí, který opakuje funkci sněžení. To způsobí, že jedna sněhová vločka přestane padat, zatímco ostatní sněhové vločky nadále padají. Opakování funkce sněhové vločky vytvoří animaci sněžení. Nyní musíme změnit kód tak, aby byl efektivnější.

Metoda jedna

První metoda vyžaduje přidání pouze jednoho řádku kódu do našeho programu. Uvnitř funkce sněžení již máme podmíněné prohlášení, které kontroluje, zda sněhová vločka přešla za jeviště, a pokud ano, odstraní posluchače událostí a zastaví padající sněhovou vločku.
Sněhová vločka se přestane pohybovat, ale je stále viditelná ve spodní části jeviště. Protože je stále viditelný a stále na seznamu zobrazení, Flash stále vynakládá prostředky na tuto sněhovou vločku. Pokud odstraníme sněhovou vločku ze seznamu zobrazení, uvolní se zdroje a animace bude efektivnější. Abychom odstranili sněhové vločky, které již nepotřebujeme na seznamu zobrazení, můžeme do podmíněného příkazu přidat kód removeChild.

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


Když otestujete svůj film, sněhové vločky zmizí, jakmile dosáhnou pravého nebo spodního okraje jeviště a animace je efektivnější.

Další →

Copyright 2018 Adobe Systems Incorporated. Všechna práva vyhrazena. Snímky obrazovky produktů Adobe přetištěné se souhlasem společ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 / jsou [a] registrovanou ochrannou známkou (značkami) nebo ochrannou známkou (značkami) společnosti Adobe Systems Incorporated ve Spojených státech a / nebo jiných zemích.


Video Návody: M7 - Animace 10 - CRM - optimalizace činnosti posádek (Duben 2024).