Tuulen vaikutus Flash CS3 Math.random -sovelluksella ()
Nyt kun lumihiutale on pudonnut salamaammeR partikkelijärjestelmää, muutetaan ActionScript 3 -koodia vähän. Hiutaleemme putoaa suoraan alas. Mutta ellei tuulta ole ehdottomasti, suurin osa hiutaleista kulkee vinoon. Joten tehdään jonkin verran matematiikkaa saadaksemme hiutaleemme liikkumaan oikealle hiukan, kun se putoaa. Lisää realismia, haluamme, että vaakasuuntaisen liikkeen määrä muuttuu, kun lumihiutale on matkalla lavalle.

Muista, että yhdessä tämän sarjan aikaisemmissa opetusohjelmissamme sijoitimme hiutaleet eri asentoihin vaakasuoraan lavan yläosaa pitkin. Teimme tämän asettamalla erilaisia ​​arvoja X-sijainnille jokaiselle hiutaleelle. Joten tässä opetusohjelmassa voimme käyttää samaa _Snowflake.x -ominaisuutta uudelleen ohjaamaan animaation vaakasuuntaista liikettä.

Toiseksi, kun loimme hiutaleemme, asetamme hiutaleen alkuperäiset X- ja Y-asemat satunnaislukuun.

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

Voimme käyttää samaa Math.random () -sovellusta satunnaisen vaakasuuntaisen liikkeen määrän hallintaan. Oletko arvannut mitä seuraavaksi tulee?

Tiedämme, että Flash-elokuvassamme jokaisessa ruudussa kutsutaan lumisateeksi.

stage.addEventListener (tapahtuma.ENTER_FRAME, lumisade);

Tämä toiminto lisää_Snowflake.y-ominaisuutta 10: llä jokaisesta kehyksestä. Tämä siirtää hiutaleen alas vaiheessa.

_Snowflake.y + = 10;

Mutta se on liian nopeaa, jotta voimme nähdä hienovaraisen vaakasuuntaisen liikkeen, jonka lisäämme seuraavaksi. Joten hidastakaamme sitä hiukan vaihtamalla 10 viideksi.

_Snowflake.y + = 5;

Nyt voimme käyttää samaa koodia siirtääksesi hiutaleen vaakasuoraan oikealle. Ainoa mitä meidän on tehtävä, on muuttaa_snowflake.y to_Snowflake.x.

_Snowflake.x + = 10;

Nyt lumihiutale siirtyy 10 pikseliä oikealle ja 5 pikseliä alas jokaisessa ruudussa Flash-elokuvassamme. Mutta olisi realistisempaa, jos lumihiutaleen vaakasuuntainen liike olisi satunnaisempi, koska se tekee siitä alas lavalle. Voimme tehdä tämän korvaamalla 10 satunnaisluvulla välillä 0–9. Tätä varten käytetään Math.random () -arvoa.

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

Seuraavaksi lisäämme uuden koodin lumisateeseen ja saamme tämän.

if (_Snowflake.y> 370)
{stage.removeEventListener (Tapahtuma.ENTER_FRAME, lumisade); }
muu
{_Snowflake.y + = 5;
_Snowflake.x + = Math.random () * 10;}

Mutta nyt, kun siirrämme hiutaletta oikealle, se saattaa lopulta mennä näytön oikean puolelle. Muista, että lopetimme lumihiutaleen, jos se putosi lavan alapuolelle.

if (_Snowflake.y> 370)

Voimme myös pysäyttää sen, jos se ylittää lavan oikean puolen. Lisäämme sen ehdollisen lausunnomme. Koska haluamme animaation pysähtyvän, jos joko ensimmäinen tai toinen näistä ehdoista ovat totta, voimme käyttää || operaattori kahden lausekkeen välillä if-lauseessa.

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

Jos jompikumpi näistä ehdoista täyttyy, Flash poistaa ENTER_FRAME-tapahtuman kuuntelijan.

Tässä on uusi koodimme.
stage.addEventListener (tapahtuma.ENTER_FRAME, lumisade);

var _Snowflake: mcSnowflake;

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

toiminnon lumisade (tapahtuma: tapahtuma): mitätön
{
if (_Snowflake.y> 370 || _Snowflake.x> 550)
{stage.removeEventListener (Tapahtuma.ENTER_FRAME, lumisade); }
muu
{_Snowflake.y + = 5; _Snowflake.x + = Math.random () * 10; }
}


Kun kirjoitat tekstiä elokuvalle, lumihiutale muuttaa nyt sen vaakasuuntaista liikettä, kun se putoaa lavan alaosaan. Tallenna lumenäkymäsi nimellä SnowScene6.fla.

Tekijänoikeus 2018 Adobe Systems Incorporated. Kaikki oikeudet pidätetään. Adobe-tuotteen näyttökuva (t) uusitaan Adobe Systems Incorporatedin luvalla. Adobe, Photoshop, Photoshop Album, Photoshop Elements, Illustrator, InDesign, GoLive, Acrobat, Cue, Premiere Pro, Premiere Elements, Bridge, After Effects, InCopy, Dreamweaver, Flash, ActionScript, Ilotulitteet, Contribute, Captivate, Flash Catalyst ja Flash Paper on / on joko [a] rekisteröity tavaramerkki (t) tai Adobe Systems Incorporatedin tavaramerkki (t) Yhdysvalloissa ja / tai muissa maissa.


Video-Ohjeita: Video Game High School (VGHS) - S2: Ep. 2 (Saattaa 2024).