Ottimizzazione dell'animazione del sistema di particelle Flash CS3
Ora che abbiamo il FlashR L'animazione delle nevicate del sistema particellare CS3 funziona esattamente come desideriamo, è il momento di ottimizzare il codice del programma scena della neve. Se hai testato l'animazione che abbiamo scritto nei tutorial precedenti, probabilmente avrai notato che dopo un po 'l'animazione tende a incidere sulle risorse del tuo computer. In questo tutorial, esamineremo alcuni modi per rendere l'animazione più efficiente.

Allo stato attuale del codice, stiamo usando un Listener di eventi per ascoltare ogni nuovo fotogramma dell'animazione. Con ogni nuovo fotogramma, la funzione fiocco di neve (gestore eventi) crea un nuovo fiocco di neve e aggiunge quel fiocco di neve all'elenco di visualizzazione Flash. Quindi, usiamo Math.random () per randomizzare la posizione e le proprietà alfa di questo fiocco di neve. Usiamo un secondo Listener di eventi per chiamare la funzione nevicata, sempre con ogni nuovo frame. La funzione nevicata verifica se il fiocco di neve si è spostato oltre il bordo destro o inferiore del palco. In tal caso, rimuoviamo il secondo listener di eventi che ripete la funzione nevicata. Questo fa sì che un fiocco di neve smetta di cadere, mentre gli altri fiocchi di neve continuano a cadere. La ripetizione della funzione fiocco di neve crea l'animazione delle nevicate. Quello che dobbiamo fare ora è cambiare il codice in modo che sia più efficiente.

Metodo Uno

Il primo metodo richiede l'aggiunta di una sola riga di codice al nostro programma. Abbiamo già una dichiarazione condizionale all'interno della funzione di nevicata che controlla se il fiocco di neve è andato oltre il palco e, in tal caso, rimuove il Listener di eventi e impedisce al fiocco di cadere di cadere.
Il fiocco di neve smette di muoversi ma è ancora visibile nella parte inferiore del palco. Poiché è ancora visibile e ancora nell'elenco di visualizzazione, Flash continua a spendere risorse su questo fiocco di neve. Se rimuoviamo il fiocco di neve dall'elenco di visualizzazione, libereremo le risorse e l'animazione sarà più efficiente. Per rimuovere i fiocchi di neve che non sono più necessari nell'elenco di visualizzazione, possiamo aggiungere un codice removeChild all'istruzione condizionale.

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


Quando provi il tuo film, i fiocchi di neve scompaiono quando raggiungono il bordo destro o inferiore del palco e l'animazione è più efficiente.

Successivo →

Copyright 2018 Adobe Systems Incorporated. Tutti i diritti riservati. Le schermate dei prodotti Adobe sono state ristampate con l'autorizzazione di 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, Catalyst Flash e Flash Paper è / sono [a] marchi registrati o marchi commerciali di Adobe Systems Incorporated negli Stati Uniti e / o in altri paesi.