Flash CS3 ActionScript 3 -hiukkasjärjestelmä
Muut virheilmoitukset tapahtuivat, koska poistimme lumisateiden toiminnon lumihiutaletoiminnosta. Tämän vuoksi lumisateiden toiminto ei osaa tunnistaa lumihiutaleet. Meidän on tehtävä muutos lumisateiden funktiokoodiin, jotta käsketään sen tunnistamaan nykyinen juuri luotu lumihiutale. Muutamme "_Snowflake" -ksi "event.target" neljässä paikassa, joissa sitä esiintyy.

Meillä on vielä yksi korjaus, ennen kuin voimme testata elokuvaa uudelleen. Palatkaamme takaisin lumihiutalefunktion koodiin. Tämän koodin sisällä oleva tapahtumankäyttäjä kutsuu lumisadetoimintoa. Mutta se kuuntelee edelleen lavaa. Meidän on muutettava tämä niin, että tapahtumankäyttäjä liitetään jokaiseen uuteen lumihiutaleeseen sellaisena kuin se luodaan, ei jokaisessa uudessa animaation kehyksessä. Muuta tapahtuman kuuntelijakoodin edessä "vaihe" tilalle "_Snowflake".

Testaa uudelleen. Ei virheitä ja meillä kaikilla 70 lumihiutaleita putoaa lavan pohjalle. Mutta sitten animaatio pysähtyy, koska emme luo uusia lumihiutaleita alkuperäisten 70 lumihiutaleen jälkeen. Meidän on lisättävä koodi, joka kierrättää nämä 70 lumihiutaleita takaisin lavan yläosaan. Kun siirrämme nämä lumihiutaleet takaisin huipulle, käytämme samaa Math.random () -koodia, jota käytimme lumihiutaletoiminnossa sijoittaaksemme satunnaisesti kierrätetyt lumihiutaleet. Mutta tällä kertaa meidän on käytettävä "event.target" eikä "_Snowflake".

Viimeinkin meidän on poistettava removeEventListener-koodi lumisateiden sisäpuolelta. Emme halua enää estää lumihiutaleidemme putoamista. Haluamme heidän menevän huipulle ja pudota uudestaan. Tässä on uusi ehdollisen lausekkeen koodi.

Testaa uudelleen ja näet, että 70 lumihiutalea putoaa ylhäältä lavalle, jota seuraa kierrätetyt lumihiutaleet. Mutta on muutama sekunti ennen kuin kierrätetyt lumihiutaleet alkavat pudota. Olisi paljon sujuvampaa animaatioa, jos voisimme muuttaa koodia siten, että 70 ensimmäistä lumihiutalet ovat koko vaiheessa, ei vain yläosassa. Palatkaamme takaisin lumihiutaletoimintoon ja muutetaan "40" - "400" omaisuudelle_Snowflake.y. Tämä asettaa 70 alkuperäistä lumihiutaletta sattumanvaraisissa paikoissa 0 - 400 Y-akselia pitkin, joka kattaa koko vaiheen.

Testaa uudelleen ja meillä on menestys. Tallenna lumikuvasi nimellä SnowScene10.fla.

Nyt animaatiomme on optimoitu ja animoitu täydellisesti, voimme pysähtyä tähän. Mutta vain muutamalla muutoksella voisimme tehdä tästä koodista modulaarisemman hiukkasjärjestelmän. Sitten voimme käyttää koodia saadaksesi kaiken sateesta sikoihin putoamaan taivaalta. Teemme sen seuraavaksi.

← Takaisin

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: Actionscript 3: gotoAndStop / gotoAndPlay (Saattaa 2024).