Flash CS3 daļiņu sistēmas animācijas optimizēšana
Tagad, kad mums ir FlashR CS3 daļiņu sistēmas sniegputeņa animācija darbojas tieši tā, kā mēs vēlamies, ir laiks optimizēt sniega ainas programmas kodu. Ja jūs pārbaudījāt animāciju, kuru mēs esam uzrakstījuši iepriekšējās pamācībās, jūs droši vien pamanījāt, ka pēc laika animācija mēdz sakārtot datora resursus. Šajā apmācībā mēs apskatīsim dažus veidus, kā padarīt animāciju efektīvāku.

Šobrīd kods tiek izmantots, lai klausītos katru jauno animācijas kadru. Ar katru jaunu rāmi sniegpārsliņa funkcija (notikumu apstrādātājs) izveido jaunu sniegpārsliņu un Flash sniegumu sarakstā to papildina. Tālāk mēs izmantojam Math.random (), lai nejauši izvēlētos šīs sniegpārslas stāvokli un alfa īpašības. Mēs izmantojam otro notikumu klausītāju, lai izsauktu sniegputeņa funkciju, atkal ar katru jaunu kadru. Sniegputeņa funkcija pārbauda, ​​vai sniegpārsla ir pārvietojusies ārpus skatuves labās vai apakšējās malas. Ja tā, mēs noņemam otro notikumu klausītāju, kas atkārto sniegputeņa funkciju. Tas izraisa to, ka viena sniegpārsla pārstāj krist, bet otra turpina samazināties. Sniegpārslas funkcijas atkārtošana rada sniegputeņa animāciju. Mums tagad jāmaina kods, lai tas būtu efektīvāks.

Pirmā metode

Pirmajai metodei mūsu programmai jāpievieno tikai viena koda rinda. Sniegputeņa funkcijas iekšienē mums jau ir nosacīts paziņojums, kas pārbauda, ​​vai sniegpārsla ir aizgājusi ārpus skatuves, un, ja tā ir, noņem Notikumu klausītāju un aptur sniegpārsliņu no krišanas.
Sniegpārsla pārstāj kustēties, bet tā joprojām ir redzama skatuves apakšā. Tā kā tas joprojām ir redzams un joprojām atrodas displeju sarakstā, Flash joprojām tērē resursus šai sniegpārslai. Ja no displeja saraksta noņemsim sniegpārsliņu, tas atbrīvos resursus un animācija būs efektīvāka. Lai noņemtu sniegpārslas, kas mums vairs nav vajadzīgas displeju sarakstā, nosacītajam paziņojumam varam pievienot kodu removeChild.

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


Pārbaudot filmu, sniegpārsliņas pazūd, kad tās sasniedz skatuves labo vai apakšējo malu, un animācija ir efektīvāka.

Nākamais →

Autortiesības 2018 Adobe Systems Incorporated. Visas tiesības aizsargātas. Adobe produkta ekrānuzņēmums (-i) ir pārpublicēts ar Adobe Systems Incorporated atļauju. 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 and Flash Paper ir / ir vai nu [a] reģistrēta preču zīme (-es), vai Adobe Systems Incorporated preču zīme (-es) Amerikas Savienotajās Valstīs un / vai citās valstīs.