Flash CS3 osakeste süsteemi animatsiooni optimeerimine
Nüüd, kui meil on FlashR CS3 osakeste süsteemi lumesadu animatsioon töötab täpselt nii, nagu me tahame, on aeg lumesaju programmi kood optimeerida. Kui testisite animatsiooni, mille oleme kirjutanud eelmistes juhendites, siis märkasite tõenäoliselt, et mõne aja pärast kipub animatsioon teie arvuti ressursse kasutama. Selles õpetuses vaatleme mõnda viisi, kuidas animatsiooni efektiivsemaks muuta.

Kui kood praegu seisab, kasutame animatsiooni iga uue kaadri kuulamiseks ühte sündmuste kuulajat. Iga uue kaadriga loob lumehelbefunktsioon (sündmuste käitleja) uue lumehelbe ja lisab selle lumehelbe välklambi loendisse. Järgmisena kasutame selle lumehelbe asukoha ja alfa-omaduste juhuslikuks jaotamiseks Math.random (). Lumesaju funktsiooni kutsumiseks kasutame teist sündmuste kuulajat, iga uue kaadriga uuesti. Lumesaju funktsioon kontrollib, kas lumehelves on liikunud lava paremast või alumisest servast kaugemale. Sel juhul eemaldame teise sündmuste kuulaja, mis kordab lumesaju funktsiooni. See põhjustab ühe lumehelbe kukkumise peatumise, teiste lumehelveste jätkuva languse. Lumehelbe funktsiooni kordamine loob lumesaju animatsiooni. Nüüd peame koodi muutma, et see oleks tõhusam.

Esimene meetod

Esimene meetod nõuab meie programmile ainult ühe koodirea lisamist. Meil on lumesadu funktsiooni sees juba tingimuslik avaldus, mis kontrollib, kas lumehelves on lavadest kaugemale jõudnud, ja kui see on nii, eemaldab sündmuste kuulaja ja peatab lumehelbe kukkumise.
Lumehelves lakkab liikumast, kuid see on lava allosas endiselt nähtav. Kuna see on endiselt nähtav ja endiselt kuvatavas loendis, kulutab Flash sellele lumehelves ikkagi ressursse. Kui eemaldame lumehelbe kuvaloendist, vabastab see ressursid ja animatsioon on tõhusam. Lumehelveste eemaldamiseks, mida me enam kuvaloendist ei vaja, saame tingimuslausetele lisada eemaldamiskoodi.

if (_Snowflake.y> 370 || _Snowflake.x> 550)
{
stage.removeEventListener (Event.ENTER_FRAME, lumesadu);
removeChild (_Snowflake);
}
muud
{_Snowflake.y + = 5; _Snowflake.x + = matemaatika.omand () * 10; }


Kui proovite oma filmi, kaovad lumehelbed, kui nad jõuavad lava paremasse või alumisse serva ja animatsioon on tõhusam.

Järgmine →

Autoriõigus 2018 Adobe Systems Incorporated. Kõik õigused kaitstud. Adobe toote ekraanipilt (ed) kordustrükis Adobe Systems Incorporated loal. 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 on / on kas [a] registreeritud kaubamärk (id) või Adobe Systems Incorporated'i kaubamärk (id) Ameerika Ühendriikides ja / või teistes riikides.


Video Juhiseid: How to do easy Animation in animation on Flash CS3 Pro (Märts 2024).