Flash CS3 ActionScript 3-partikkelsystem
De andre feilmeldingene skjedde fordi vi fjernet snøfallfunksjonen innenfor snøfnuggfunksjonen. På grunn av dette vet ikke snøfallfunksjonen hvordan du kjenner igjen snøflakene. Vi må gjøre en endring i snøfallfunksjonskoden for å fortelle den om å gjenkjenne den nåværende snøfnugg som nettopp er opprettet. Vi vil endre "_Snowflake" til "event.target" på de fire stedene det oppstår.

Vi har en korreksjon til før vi kan teste filmen vår på nytt. La oss gå tilbake til snøfnuggfunksjonskoden. Hendelseslytteren i denne koden kaller snøfallfunksjonen. Men det lytter fortsatt til scenen. Vi må endre dette slik at Event Listener er festet til hver nye snøfnugg når den er opprettet, og ikke til hver nye ramme i animasjonen. Foran koden til Event Listener, endre "scene" til "_Snowflake".

Test igjen. Ingen feil, og vi har alle 70 snøflak til bunns på scenen. Men så stopper animasjonen fordi vi ikke lager noen nye snøfnugg etter de første 70 snøfnuggene. Vi må legge til en kode som vil resirkulere disse 70 snøfnuggene opp til toppen av scenen. Når vi flytter snøfnuggene tilbake til toppen, la oss bruke den samme Math.random () koden som vi brukte i snøfnuggfunksjonen for å tilfeldig plassere resirkulerte snøfnugg. Men denne gangen må vi bruke "event.target" i stedet for "_Snowflake".

Endelig må vi fjerne removeEventListener-koden fra snøfallsfunksjonen. Vi ønsker ikke å stoppe snøfnuggene fra å falle lenger. Vi vil at de skal til toppen og falle ned igjen. Her er den nye koden for den betingede uttalelsen.

Test igjen, så ser du 70 snøfnugg fra toppen til scenen etterfulgt av de resirkulerte snøfnuggene. Men det er noen sekunder før de resirkulerte snøfnuggene begynner å falle. Det ville være en mye jevnere animasjon hvis vi kunne endre koden slik at de første 70 snøflakene er plassert over hele scenen i stedet for bare på toppen. La oss gå tilbake til snøfnuggfunksjonen og endre "40" til "400" for eiendommen_Snowflake.y. Dette vil plassere de 70 første snøfnuggene på tilfeldige posisjoner fra 0 til 400 langs Y-aksen som vil dekke hele scenen.

Test igjen, og vi har suksess. Lagre snøscenen din som SnowScene10.fla.

Nå har vi animasjonen vår optimalisert og animert perfekt, vi kan stoppe her. Men med bare noen få endringer, kan vi gjøre denne koden til et mer modulært partikkelsystem. Da kunne vi bruke koden til å gjøre alt fra regn til griser faller fra himmelen. Det vil vi gjøre neste gang.

← Tilbake

Copyright 2018 Adobe Systems Incorporated. Alle rettigheter forbeholdt. Adobes produktskjermbilder er skrevet ut på nytt med tillatelse fra 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, Fyrverkeri, Bidra, Captivate, Flash Catalyst og Flash Paper er / er enten [a] registrert varemerke [s] eller et varemerke [s] fra Adobe Systems Incorporated i USA og / eller andre land.