ActionScript 3 -hiukkasjärjestelmän lumisate Flash
Menetelmä 2

Toinen menetelmä antaa meille mahdollisuuden käyttää vain muutamia lumihiutaleita sen sijaan, että luodaan jatkuvasti uusia. Mutta tämän tekemiseksi meidän on löydettävä tapa kierrättää luomamme lumihiutaleet. Ensimmäinen askel on muuttaa tapaa, jota kutsumme lumihiutalefunktioksi, joka luo lumihiutaleet. Emme enää halua luoda uusia lumihiutaleita jokaisella uudella kehyksellä, joten meidän on poistettava tapahtuman kuuntelija koodin yläosasta.

stage.addEventListener (tapahtuma.ENTER_FRAME, lumihiutale);

Nyt lisäämme koodin, joka luo pienen määrän lumihiutaleita. Käytämme lumihiutale-toiminnon silmukkalauseketta hallitaksesi luotavien lumihiutaleiden määrää. Tarvitsemme noin 70 lumihiutaletta. Jos nostamme tätä lukua paljon enemmän, animaatio muuttuu jälleen tehtäväksi. Sijoita kohdistin lumihiutalefunktiokoodin sisään heti avautuvan kiharan kiinnikkeen jälkeen ja lisää koodirivi, joka käskee Flashin toistamaan lumihiutaletoiminnon 70 kertaa. Lisää seuraavaksi silmukan avaus kiharakiinnike. Saatat tunnistaa tämän silmukkiksi tämän sarjan toisesta opetusohjelmasta.

toiminto lumihiutale (tapahtuma: tapahtuma): mitätön
{
varten (var i: luku = 0; i <70; i ++)
{


Lopun lumihiutaletoiminnon koodin tulisi olla sama. Nyt meidän on suljettava for-silmukka sulkevalla kiharakiinnikkeellä. Sijoita tämä kiinnike funktion viimeisen rivin jälkeen. Tässä on koodi. Olen siirtänyt funktion rungon oikealle, jotta se olisi paremmin luettavissa. Tämä ei kuitenkaan ole välttämätöntä, jotta koodi toimisi.

Viimeinkin meidän on poistettava lumisateiden toiminta lumihiutaletoiminnosta. Tämä on helppo tehdä. Siirrä vain kihara, joka sulkee lumihiutaletoiminnon ohjelman pohjasta, vain silmukkokoodin loppuun. Nyt meillä on kaksi toimintoa, jotka ovat täysin erillisiä toisistaan.

Koska emme enää soita lumihiutaletoimintoa koodin yläosasta poistaneen tapahtuman kuuntelijan kanssa, meidän on soitettava sille yksinkertaisella funktiopuhelulla. Koska käytämme funktiossa silmukkalauseketta toiminnon toistamiseksi 70 kertaa, joudumme kutsumaan itse funktion vain kerran. Soita tämä funktion kutsu koko ohjelmakoodin loppuun.

lumihiutale();

Viimeinkin meidän on poistettava removeChild-koodi, jonka lisäsimme menetelmän One -koodiin. Muista, että haluamme kierrättää nämä lumihiutaleet sen sijaan, että poistaisimme ne näyttöluettelosta. Poista seuraava koodi.

removeChild (_Snowflake);

Jos testaat elokuvasi, saat virheilmoituksia. Pidämme huolta luettelon viimeisestä virheestä. Saimme tämän virhesanoman, koska lumihiutalefunktion koodin suluissa on yksi argumentti. Mutta emme enää käytä tätä "tapahtuma: Tapahtuma" -perustetta, koska poistimme Tapahtuman kuuntelijan. Meidän on poistettava "tapahtuma: Tapahtuma" sulkujen sisäpuolelta.

toiminto lumihiutale (): tyhjä

← Takaisin | Seuraava →

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 Tutorial: hitTestPoint and hitTestObject (Saattaa 2024).