Tuule efekt Flash CS3 abil Math.random ()
Nüüd, kui meie lumehelves langeb meie välkuR osakeste süsteemi, muutkem natuke ActionScript 3 koodi. Meie helves langeb lihtsalt otse alla. Kuid kui tuult ei ole, liigub enamik helbeid kaldu alla. Kasutagem siis natuke matemaatikat, et muuta meie helbeke kukkudes pisut paremale. Realismi lisamiseks tahame, et horisontaalse liikumise suurus muutuks, kuna lumehelves muudab lava alla.

Pidage meeles, et ühes meie selle sarja varasemas õpetuses paigutasime helbed lava ülaossa horisontaalselt erinevatesse asenditesse. Tegime selle, määrates iga helbe jaoks X-positsiooni erinevad väärtused. Nii et selles õpetuses saame sama _Snowflake.x atribuuti uuesti kasutada animatsiooni horisontaalse liikumise juhtimiseks.

Teiseks seadsime helveste loomisel helveste algse X- ja Y-positsiooni juhuslikule arvule.

_Snowflake.x = matemaatika.omand () * 510;
_Snowflake.y = matemaatika.omand () * 40;

Juhusliku horisontaalse liikumise suuruse kontrollimiseks saame kasutada sama Math.random (). Kas sa arvasid, mis järgmiseks tuleb?

Me teame, et meie Flash-filmi igas kaadris kutsume lumesadu funktsiooni.

stage.addEventListener (Event.ENTER_FRAME, lumesadu);

See funktsioon suurendab atribuuti_Snowflake.y iga kaadri kohta 10 võrra. See liigutab helves lava alla.

_Snowflake.y + = 10;

Kuid see on liiga kiire, et näha peent horisontaalset liikumist, mille järgmiseks lisame. Niisiis, aeglustame seda pisut, muutes 10-ni 5-ni.

_Snowflake.y + = 5;

Nüüd saame sama koodi abil helbe horisontaalselt paremale nihutada. Peame vaid muutma saidi_Snowflake.y saidil_Snowflake.x.

_Snowflake.x + = 10;

Nüüd liigub lumehelves meie Flash-filmi igas kaadris 10 pikslit paremale ja 5 pikslit allapoole. Kuid oleks realistlikum, kui lumehelbe horisontaalne liikumine oleks juhuslikum, kuna see muudab lava alla. Selle saab asendada 10-ga juhusliku arvuga vahemikus 0 kuni 9. Selleks kasutame Math.random ().

_Snowflake.x + = matemaatika.omand () * 10;

Järgmisena lisame selle uue koodi lumesaju funktsioonile ja saame selle.

if (_Snowflake.y> 370)
{stage.removeEventListener (Event.ENTER_FRAME, lumesadu); }
muud
{_Snowflake.y + = 5;
_Snowflake.x + = matemaatika.omand () * 10;}

Kuid nüüd, kui liigutame helvest paremale, võib see lõpuks ekraani paremast servast kaugemale ulatuda. Pidage meeles, et peatasime lumehelbe, kui see langes lava alla.

if (_Snowflake.y> 370)

Samuti võime selle peatada, kui see läheb lava paremast servast kaugemale. Lisame selle oma tingimuslikku avaldusse. Kuna me tahame, et animatsioon peatuks, kui kas esimene või teine ​​neist tingimustest on tõesed, võime kasutada || operaator if-lause kahe tingimuse vahel.

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

Kui üks neist tingimustest on tõene, eemaldab Flash sündmuse kuulaja ENTER_FRAME.

Siin on meie uus kood.
stage.addEventListener (Event.ENTER_FRAME, lumesadu);

var _Snowflake: mcSnowflake;

_Snowflake = uus mcSnowflake ();
addChild (_Snowflake);
_Snowflake.x = matemaatika.omand () * 510;
_Snowflake.y = matemaatika.omand () * 40;

funktsioon lumesadu (sündmus: sündmus): tühine
{
if (_Snowflake.y> 370 || _Snowflake.x> 550)
{stage.removeEventListener (Event.ENTER_FRAME, lumesadu); }
muud
{_Snowflake.y + = 5; _Snowflake.x + = matemaatika.omand () * 10; }
}


Kui kirjutate oma filmi, muudab lumehelves nüüd horisontaalset liikumist, kuna see kukub lava põhja. Salvestage oma lumevaade nagu SnowScene6.fla.

Autoriõigus 2018 Adobe Systems Incorporated. Kõik õigused kaitstud. Adobe toote ekraanipilt (ed) kordustrükis Adobe Systems Incorporated loal. 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 and Flash Paper on / on kas [a] registreeritud kaubamärk (id) või Adobe Systems Incorporated'i kaubamärk (id) Ameerika Ühendriikides ja / või teistes riikides.


Video Juhiseid: DIY. Disfraz de BELLA. Vestido Princesa Bella ???? paso a paso. BELLA costume. Princess Bella dress (Aprill 2024).