Větrný efekt s Flash CS3 Math.random ()
Nyní, když máme v našem Flash padající sněhovou vločkuR systému částic, pojďme trochu upravit kód jazyka ActionScript 3. Naše vločka prostě padá přímo dolů. Ale pokud není absolutně žádný vítr, většina vloček cestuje dolů šikmo. Pojďme tedy použít nějakou matematiku, aby se naše vločka lehce posunula doprava, když padá. Chcete-li přidat více realismu, chceme, aby se množství vodorovného pohybu změnilo, protože sněhová vločka způsobuje, že je to cesta dolů na jeviště.

Pamatujte, že v jednom z našich dřívějších konzultací v této sérii jsme vločky umístili na různých pozicích vodorovně podél horní části jeviště. Udělali jsme to stanovením různých hodnot pro polohu X pro každou vločku. V tomto tutoriálu tedy můžeme použít stejnou vlastnost _Snowflake.x znovu k ovládání horizontálního pohybu v animaci.

Za druhé, když jsme vytvořili naši vločku, nastavili jsme počáteční pozici X a Y vločky na náhodné číslo.

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

Můžeme použít stejný Math.random () k řízení množství náhodného horizontálního pohybu. Hádáte, co bude dál?

Víme, že v každém snímku našeho filmu Flash nazýváme funkci sněžení.

stage.addEventListener (Event.ENTER_FRAME, snowfall);

Tato funkce zvyšuje vlastnost_Snowflake.y o 10 pro každý snímek. To je to, co pohybuje vločku dolů po jevišti.

_Snowflake.y + = 10;

Ale to je příliš rychlé na to, abychom viděli jemný horizontální pohyb, který přidáme další. Takže to trochu zpomalíme změnou 10 na 5.

_Snowflake.y + = 5;

Nyní můžeme použít stejný kód k posunutí vloček vodorovně doprava. Vše, co musíme udělat, je změnit the_Snowflake.y na_Snowflake.x.

_Snowflake.x + = 10;

Nyní se sněhová vločka posune o 10 pixelů doprava a 5 pixelů dolů u každého snímku v našem filmu Flash. Bylo by však realističtější, kdyby byl horizontální pohyb sněhové vločky náhodnější, protože to způsobuje, že je cesta dolů po jevišti. Můžeme to provést tak, že 10 nahradíme náhodným číslem mezi 0 a 9. K tomu použijeme Math.random ().

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

Dále přidáme tento nový kód do funkce sněžení a dostaneme to.

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

Ale teď, když pohybujeme vločkou doprava, může to nakonec přesáhnout pravou stranu obrazovky. Pamatujte, že jsme sněhovou vločku zastavili, pokud klesla pod jeviště.

if (_Snowflake.y> 370)

Můžeme to také zastavit, pokud to přesahuje pravou stranu jeviště. Přidejme to do našeho podmíněného prohlášení. Protože chceme, aby se animace zastavila, pokud bude splněna první nebo druhá z těchto podmínek, můžeme použít || mezi dvěma podmínkami v příkazu if.

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

Pokud je splněna některá z těchto podmínek, Flash odebere posluchače událostí ENTER_FRAME.

Zde je náš nový kód.
stage.addEventListener (Event.ENTER_FRAME, snowfall);

var _Snowflake: mcSnowflake;

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

funkční sněžení (událost: událost): neplatné
{
if (_Snowflake.y> 370 || _Snowflake.x> 550)
{stage.removeEventListener (Event.ENTER_FRAME, snowfall); }
jiný
{_Snowflake.y + = 5; _Snowflake.x + = Math.random () * 10; }
}


Při psaní filmu bude sněhová vločka nyní měnit svůj horizontální pohyb, protože klesá na dno jeviště. Uložte sněhovou scénu jako SnowScene6.fla.

Copyright 2018 Adobe Systems Incorporated. Všechna práva vyhrazena. Snímky obrazovky produktů Adobe přetištěné se souhlasem společnosti 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 a Flash Paper je / jsou [a] registrovanou ochrannou známkou (značkami) nebo ochrannou známkou (značkami) společnosti Adobe Systems Incorporated ve Spojených státech a / nebo jiných zemích.


Video Návody: So You Wanna Make Games?? | Episode 7: Game VFX (Duben 2024).