Vindeffekt med Flash CS3 Math.random ()
Nu när vi har snöflingan faller i vår FlashR partikelsystem, låt oss ändra ActionScript 3-koden lite. Vår fling faller bara rakt ner. Men om det inte finns någon vind, de flesta flingor reser ner i sned. Så låt oss använda lite matematik för att få vår flingor att röra sig åt höger något när den faller. För att lägga till mer realism, vill vi att mängden horisontell rörelse förändras när snöflingan gör det långt ner på scenen.

Kom ihåg att i en av våra tidigare tutorials i denna serie placerade vi flingor på olika positioner horisontellt längs scenens topp. Vi gjorde detta genom att ställa in olika värden för X-positionen för varje flingan. Så i denna handledning kan vi använda samma _Snowflake.x-egenskap igen för att kontrollera den horisontella rörelsen i animationen.

För det andra, när vi skapade vår flingan, satte vi flingans initiala X- och Y-positioner till ett slumpmässigt antal.

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

Vi kan använda samma Math.random () för att kontrollera mängden slumpmässig horisontell rörelse. Har du gissat vad som kommer nu?

Vi vet att på varje bildruta i vår Flash-film kallar vi snöfallfunktionen.

stage.addEventListener (Event.ENTER_FRAME, snöfall);

Denna funktion ökar egenskapen_Snowflake.y med 10 för varje ram. Det är detta som flyttar flingan ner på scenen.

_Snowflake.y + = 10;

Men det är för snabbt för oss att se den subtila horisontella rörelsen som vi kommer att lägga till nästa. Så låt oss sakta ner det lite genom att ändra 10 till 5.

_Snowflake.y + = 5;

Nu kan vi använda samma kod för att flytta flingan horisontellt åt höger. Allt vi behöver göra är att ändra_Snowflake.y till_Snowflake.x.

_Snowflake.x + = 10;

Nu kommer snöflingan att flytta 10 pixlar till höger och 5 pixlar nedåt vid varje bildruta i vår Flash-film. Men det skulle vara mer realistiskt om snöflingans horisontella rörelse var mer slumpmässig eftersom det gör att det är långt ner på scenen. Vi kan göra detta genom att ersätta 10 med ett slumpmässigt nummer mellan 0 och 9. Vi kommer att använda Math.random () för att göra detta.

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

Därefter lägger vi till den nya koden till snöfallfunktionen och vi får den här.

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

Men nu när vi flyttar flingan åt höger kan det så småningom gå utöver skärmens högra sida. Kom ihåg att vi stoppade snöflingan om den föll under scenen.

if (_Snowflake.y> 370)

Vi kan också stoppa det om det går utöver scenens högra sida. Låt oss lägga till det till vårt villkorade uttalande. Eftersom vi vill att animationen ska stanna om antingen den första ELLER den andra av dessa villkor är sanna, kan vi använda || operatör mellan de två villkoren i if-uttalandet.

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

Om endera av dessa villkor är sanna, tar Flash bort ENTER_FRAME-händelse lyssnaren.

Här är vår nya kod.
stage.addEventListener (Event.ENTER_FRAME, snöfall);

var _Snowflake: mcSnowflake;

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

funktion snöfall (händelse: Händelse): ogiltig
{
if (_Snowflake.y> 370 || _Snowflake.x> 550)
{stage.removeEventListener (Event.ENTER_FRAME, snöfall); }
annan
{_Snowflake.y + = 5; _Snowflake.x + = Math.random () * 10; }
}


När du textar din film kommer snöflingan nu att variera dess horisontella rörelse när den faller till botten av scenen. Spara din snöbild som SnowScene6.fla.

Copyright 2018 Adobe Systems Incorporated. Alla rättigheter förbehållna. Adobes produktskärmbild (ar) tryckta om med tillstånd från 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, Flash Catalyst och Flash Paper är / är antingen [a] registrerat varumärke [s] eller ett varumärke [s] från Adobe Systems Incorporated i USA och / eller andra länder.


Video Instruktioner: Photoshop Grid Pattern (Januari 2023).