Effetto vento con Flash CS3 Math.random ()
Ora che abbiamo il nostro fiocco di neve che cade nel nostro FlashR sistema particellare, modifichiamo un po 'il codice ActionScript 3. Il nostro fiocco cade proprio verso il basso. Ma, a meno che non ci sia assolutamente il vento, la maggior parte dei fiocchi si inclina verso il basso. Quindi usiamo un po 'di matematica per far muovere leggermente il nostro fiocco verso destra mentre cade. Per aggiungere più realismo, vogliamo che la quantità di movimento orizzontale cambi quando il fiocco di neve scende sul palco.

Ricorda che in uno dei nostri tutorial precedenti di questa serie, abbiamo posizionato i fiocchi in diverse posizioni orizzontalmente lungo la parte superiore del palco. Lo abbiamo fatto impostando valori diversi per la posizione X per ogni fiocco. Quindi in questo tutorial, possiamo usare di nuovo la stessa proprietà _Snowflake.x per controllare il movimento orizzontale nell'animazione.

In secondo luogo, quando abbiamo creato il nostro fiocco, abbiamo impostato le posizioni X e Y iniziali del fiocco su un numero casuale.

_Snowflake.x = Math.random () * 510;
_Snowflake.y = Math.random () * 40;

Possiamo usare lo stesso Math.random () per controllare la quantità di movimento orizzontale casuale. Hai indovinato cosa verrà dopo?

Sappiamo che su ogni fotogramma del nostro filmato Flash, chiamiamo la funzione nevicata.

stage.addEventListener (Event.ENTER_FRAME, nevicate);

Questa funzione aumenta la proprietà_Snowflake.y di 10 per ogni frame. Questo è ciò che sposta il fiocco sul palco.

_Snowflake.y + = 10;

Ma è troppo veloce per noi per vedere il sottile movimento orizzontale che aggiungeremo dopo. Quindi, rallentiamo un po 'cambiando il 10 in un 5.

_Snowflake.y + = 5;

Ora possiamo usare lo stesso codice per spostare il fiocco in senso orizzontale a destra. Tutto quello che dobbiamo fare è cambiare il_Snowflake.y in_Snowflake.x.

_Snowflake.x + = 10;

Ora il fiocco di neve si sposterà di 10 pixel a destra e di 5 pixel in basso su ciascun fotogramma nel nostro filmato Flash. Ma sarebbe più realistico se il movimento orizzontale del fiocco di neve fosse più casuale in quanto arriva fino in fondo al palco. Possiamo farlo sostituendo il 10 con un numero casuale compreso tra 0 e 9. Useremo Math.random () per farlo.

_Snowflake.x + = Math.random () * 10;

Successivamente, aggiungiamo questo nuovo codice alla funzione nevicata e otteniamo questo.

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

Ma ora che stiamo spostando il fiocco verso destra, potrebbe eventualmente andare oltre il lato destro dello schermo. Ricorda che abbiamo fermato il fiocco di neve se è caduto sotto il palco.

if (_Snowflake.y> 370)

Possiamo anche fermarlo se va oltre il lato destro del palco. Aggiungiamolo alla nostra dichiarazione condizionale. Poiché vogliamo che l'animazione si interrompa se la prima OPPURE la seconda di queste condizioni sono vere, possiamo usare || operatore tra le due condizioni nell'istruzione if.

if (_Snowflake.y> 370 || _Snowflake.x> 550)

Se una di queste condizioni è vera, Flash rimuoverà il listener di eventi ENTER_FRAME.

Ecco il nostro nuovo codice.
stage.addEventListener (Event.ENTER_FRAME, nevicate);

var _Snowflake: mcSnowflake;

_Snowflake = new mcSnowflake ();
addChild (_Snowflake);
_Snowflake.x = Math.random () * 510;
_Snowflake.y = Math.random () * 40;

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


Quando scrivi il tuo filmato, il fiocco di neve ora varierà il suo movimento orizzontale mentre cade sul fondo del palco. Salva la tua scena sulla neve con SnowScene6.fla.

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.