„Flash CS3“ dalelių sistemos animacijos optimizavimas
Dabar, kai turime „Flash“R CS3 dalelių sistemos snaigės animacija veikia tiksliai taip, kaip mes norime, laikas optimizuoti sniego scenos programos kodą. Jei išbandėte animaciją, kurią parašėme ankstesniuose vadovėliuose, tikriausiai pastebėjote, kad po kurio laiko animacija linkusi atlikti jūsų kompiuterio išteklius. Šiame vadove apžvelgsime keletą būdų, kaip padaryti animaciją efektyvesnę.

Kadangi kodas yra dabar, mes naudojame vieną įvykių stebėjimo programą, norėdami klausytis kiekvieno naujo animacijos kadro. Su kiekvienu nauju kadru snaigės funkcija (įvykių tvarkytojas) sukuria naują snaigę ir prideda tą snaigę į „Flash“ ekrano sąrašą. Toliau mes naudojame „Math.random“ (), kad atsitiktine tvarka pasirinktume šios snaigės padėtį ir alfa savybes. Norėdami iškviesti snigimo funkciją, dar kartą su kiekvienu nauju kadru, pasitelkiame antrą renginių klausytoją. Sniego kritimo funkcija patikrina, ar snaigė perėjo už dešiniojo ar apatinio scenos krašto. Jei taip, pašaliname antrą įvykių perklausą, kuri pakartoja snaigės funkciją. Dėl to viena snaigė nustoja kristi, o kitos snaigės toliau krenta. Snaigės funkcijos pakartojimas sukuria snaigės animaciją. Dabar turime pakeisti kodą, kad jis būtų efektyvesnis.

Pirmasis metodas

Pirmasis metodas reikalauja, kad mūsų programoje būtų pridėta tik viena kodo eilutė. Sniego kritimo funkcijos viduje jau turime sąlyginį teiginį, kuris patikrina, ar snaigė neperžengė scenos, ir, jei taip, pašalina renginių stebėtoją ir sustabdo snaigės kritimą.
Snaigė nustoja judėti, bet ji vis tiek matoma scenos apačioje. Kadangi ji vis dar matoma ir tebėra rodomų sąraše, „Flash“ vis tiek išleidžia resursus šiai snaigėms. Jei pašalinsime snaigę iš rodomo sąrašo, ji išlaisvins išteklius ir animacija bus efektyvesnė. Norėdami pašalinti snaiges, kurių mums nebereikia rodomųjų sąraše, prie sąlyginio teiginio galime pridėti „removeChild“ kodą.

if (_Snowflake.y> 370 || _Snowflake.x> 550)
{
stage.removeEventListener (Event.ENTER_FRAME, snaigė);
removeChild (_Snowflake);
}
Kitas
{_Snowflake.y + = 5; _Snowflake.x + = matematika.dažnai () * 10; }


Kai išbandote savo filmą, snaigės išnyksta, kai jos pasiekia dešinįjį arba apatinį scenos kraštą, o animacija yra efektyvesnė.

Kitas →

Autorių teisės 2018 m. „Adobe Systems Incorporated“. Visos teisės saugomos. „Adobe“ produkto ekrano kopija (-os) perspausdinta gavus „Adobe Systems Incorporated“ leidimą. „Adobe“, „Photoshop“, „Photoshop Album“, „Photoshop Elements“, „Illustrator“, „InDesign“, „GoLive“, „Acrobat“, „Cue“, „Premiere Pro“, „Premiere Elements“, „Bridge“, „After Effects“, „InCopy“, „Dreamweaver“, „Flash“, „ActionScript“, „Fejerverkai“, „Prisidėkite“, „Captivate“, „Flash Catalyst“ ir „Flash“ popierius yra (yra) registruotas (-i) prekės ženklas (-ai) arba „Adobe Systems Incorporated“ prekės ženklas (-ai) JAV ir (arba) kitose šalyse.