Vindeffekt med Flash CS3 Math.random ()
Nå som vi har snøfnugg som faller i vår blitsR partikkelsystem, la oss endre litt på ActionScript 3-koden. Flaket vårt bare faller rett ned. Men med mindre det absolutt ikke er vind, reiser de fleste flak i skrå skrå. Så la oss bruke litt matte for å få flaket vårt til å bevege seg til høyre litt når det faller. For å legge til mer realisme, ønsker vi at mengden horisontal bevegelse endres når snøfnugg gjør det langt ned på scenen.

Husk at i en av våre tidligere tutorials i denne serien, plasserte vi flak på forskjellige posisjoner horisontalt på toppen av scenen. Vi gjorde dette ved å sette forskjellige verdier for X-posisjonen for hver flak. Så i denne opplæringen kan vi bruke den samme _Snowflake.x-egenskapen igjen for å kontrollere den horisontale bevegelsen i animasjonen.

For det andre, da vi opprettet vår flak, satte vi flakens første X- og Y-posisjon til et tilfeldig tall.

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

Vi kan bruke den samme Math.random () for å kontrollere mengden tilfeldig horisontal bevegelse. Har du gjettet hva som kommer videre?

Vi vet at på hver ramme av vår Flash-film kaller vi snøfallfunksjonen.

scene.addEventListener (Event.ENTER_FRAME, snøfall);

Denne funksjonen øker egenskapen_Snowflake.y med 10 for hver ramme. Det er dette som beveger flaket nedover scenen.

_Snowflake.y + = 10;

Men det er for raskt for oss å se den subtile horisontale bevegelsen som vi vil legge til neste. Så la oss bremse litt på det ved å endre 10 til en 5.

_Snowflake.y + = 5;

Nå kan vi bruke samme kode for å flytte flak horisontalt til høyre. Alt vi trenger å gjøre er å endre_Snowflake.y til_Snowflake.x.

_Snowflake.x + = 10;

Nå vil snøfnugg flytte 10 piksler til høyre og 5 piksler nede ved hver ramme i vår Flash-film. Men det ville være mer realistisk hvis snøfnuggens horisontale bevegelse var mer tilfeldig, ettersom den gjør det langt ned på scenen. Vi kan gjøre dette ved å erstatte de 10 med et tilfeldig tall mellom 0 og 9. Vi vil bruke Math.random () til å gjøre dette.

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

Neste, legger vi til denne nye koden til snøfallfunksjonen, og vi får denne.

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

Men nå som vi flytter flaket til høyre, kan det til slutt gå utover høyre side av skjermen. Husk at vi stoppet snøfnugg hvis den falt under scenen.

if (_Snowflake.y> 370)

Vi kan også stoppe det hvis det går utover høyresiden av scenen. La oss legge det til vår betingede uttalelse. Fordi vi ønsker at animasjonen skal stoppe hvis enten den første ELLER den andre av disse forholdene er sanne, kan vi bruke || operatør mellom de to forholdene i if-uttalelsen.

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

Hvis en av disse forholdene er sant, vil Flash fjerne ENTER_FRAME hendelseslytteren.

Her er vår nye kode.
scene.addEventListener (Event.ENTER_FRAME, snøfall);

var _Snowflake: mcSnowflake;

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

funksjon snøfall (hendelse: Hendelse): ugyldig
{
if (_Snowflake.y> 370 || _Snowflake.x> 550)
{stage.removeEventListener (Event.ENTER_FRAME, snøfall); }
ellers
{_Snowflake.y + = 5; _Snowflake.x + = Math.random () * 10; }
}


Når du teksten din film, vil snøfnugg nå variere sin horisontale bevegelse når den faller til bunnen av scenen. Lagre snøscenen din som SnowScene6.fla.

Copyright 2018 Adobe Systems Incorporated. Alle rettigheter forbeholdt. Adobes produktskjermbilder er skrevet ut på nytt med tillatelse fra 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, Fyrverkeri, Bidra, Captivate, Flash Catalyst og Flash Paper er / er enten [a] registrert varemerke [s] eller et varemerke [s] fra Adobe Systems Incorporated i USA og / eller andre land.


Video Instruksjoner: Photoshop Grid Pattern (Kan 2024).