Sistema di particelle Flash CS3 ActionScript 3
Gli altri messaggi di errore si sono verificati perché abbiamo rimosso la funzione di nevicata all'interno della funzione fiocco di neve. Per questo motivo, la funzione nevicata non è in grado di riconoscere i fiocchi di neve. Dobbiamo apportare una modifica al codice della funzione nevicata per dirgli di riconoscere l'attuale fiocco di neve appena creato. Modificheremo "_Snowflake" in "event.target" nei quattro punti in cui si verifica.

Abbiamo ancora una correzione prima di poter testare nuovamente il nostro film. Torniamo al codice funzione fiocco di neve. Il listener di eventi all'interno di questo codice chiama la funzione nevicata. Ma sta ancora ascoltando il palcoscenico. Dobbiamo modificarlo in modo che il Listener di eventi sia collegato a ciascun nuovo fiocco di neve man mano che viene creato e non a ogni nuovo fotogramma dell'animazione. Nella parte anteriore del codice Listener eventi, modifica "stage" in "_Snowflake".

Prova di nuovo Nessun errore e abbiamo tutti i 70 fiocchi di neve che cadono sul fondo del palco. Ma poi l'animazione si interrompe perché non stiamo creando nuovi fiocchi di neve dopo i primi 70 fiocchi di neve. Dobbiamo aggiungere del codice che ricicli questi 70 fiocchi di neve fino alla cima del palco. Mentre spostiamo questi fiocchi di neve all'inizio, usiamo lo stesso codice Math.random () che abbiamo usato nella funzione fiocco di neve per posizionare casualmente i nostri fiocchi di neve riciclati. Ma questa volta dobbiamo usare "event.target" invece di "_Snowflake".

Infine, dobbiamo rimuovere il codice removeEventListener dall'interno della funzione nevicata. Non vogliamo più impedire ai nostri fiocchi di neve di cadere. Vogliamo che vadano in cima e cadano di nuovo. Ecco il nuovo codice per l'istruzione condizionale.

Prova di nuovo e vedrai cadere 70 fiocchi di neve dall'alto verso il palco seguiti dai fiocchi di neve riciclati. Ma ci sono alcuni secondi prima che i fiocchi di neve riciclati inizino a cadere. Sarebbe un'animazione molto più fluida se potessimo cambiare il codice in modo che i primi 70 fiocchi di neve siano posizionati sull'intero palco anziché solo in cima. Torniamo alla funzione fiocco di neve e cambiamo da "40" a "400" per la proprietà_Snowflake.y. Ciò posizionerà i 70 fiocchi di neve iniziali in posizioni casuali da 0 a 400 lungo l'asse Y che coprirà l'intero stadio.

Prova di nuovo e abbiamo successo. Salva la scena della neve con SnowScene10.fla.

Ora abbiamo la nostra animazione ottimizzata e animata perfettamente, potremmo fermarci qui. Ma con poche modifiche, potremmo rendere questo codice un sistema particellare più modulare. Quindi potremmo usare il codice per far cadere dal cielo qualsiasi cosa, dalla pioggia ai maiali. Lo faremo dopo.

← Indietro

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.