ActionScript 3-deeltjessysteem Sneeuwval in Flash
Methode twee

Met de tweede methode kunnen we slechts enkele sneeuwvlokken gebruiken in plaats van continu nieuwe te maken. Maar om dit te doen, moeten we een manier vinden om de sneeuwvlokken die we maken te recyclen. De eerste stap is het veranderen van de manier waarop we de sneeuwvlokfunctie noemen die de sneeuwvlokken maakt. We willen niet langer een nieuwe sneeuwvlok maken met elk nieuw frame, dus moeten we de Event Listener bovenaan de code verwijderen.

stage.addEventListener (Event.ENTER_FRAME, sneeuwvlok);

Nu zullen we de code toevoegen die een klein aantal sneeuwvlokken maakt. We zullen een for loop-instructie binnen de sneeuwvlokfunctie gebruiken om het aantal sneeuwvlokken te bepalen dat wordt gemaakt. We hebben ongeveer 70 sneeuwvlokken nodig. Als we dit aantal veel hoger verhogen, wordt de animatie opnieuw een opgave. Plaats uw cursor in de sneeuwvlokfunctiecode, net na de accolade met opening en voeg de coderegel toe die Flash vertelt dat de sneeuwvlokfunctie 70 keer moet worden herhaald. Voeg vervolgens de krullende opening voor de lus toe. Je herkent dit misschien voor luscode uit de tweede tutorial in deze serie.

functie sneeuwvlok (gebeurtenis: gebeurtenis): ongeldig
{
voor (var i: Number = 0; i <70; i ++)
{


De rest van de sneeuwvlokfunctiecode moet hetzelfde blijven. Nu moeten we de for-lus sluiten met een sluitende accolade. Plaats deze haak net na de laatste regel van de functie. Hier is de code. Ik heb de kern van de functie naar rechts verplaatst om deze beter leesbaar te maken. Dit is echter niet nodig om de code te laten werken.

Ten slotte moeten we de sneeuwvalfunctie verwijderen uit de sneeuwvlokfunctie. Dit is eenvoudig te doen. Verplaats de gekrulde haak die de sneeuwvlokfunctie sluit van de onderkant van het programma naar net onder het einde van de for-luscode. Nu hebben we twee functies die volledig van elkaar gescheiden zijn.

Omdat we niet langer de sneeuwvlokfunctie aanroepen met de Event Listener die we bovenaan de code hebben verwijderd, moeten we deze in plaats daarvan aanroepen met een eenvoudige functieaanroep. Omdat we binnen de functie een for-lusinstructie gebruiken om de functie 70 keer te herhalen, hoeven we de functie zelf maar één keer aan te roepen. Plaats deze functieaanroep aan het einde van de volledige programmacode.

sneeuwvlok();

Ten slotte moeten we de removeChild-code verwijderen die we aan onze code voor methode één hebben toegevoegd. Vergeet niet dat we deze sneeuwvlokken willen recyclen in plaats van ze uit de lijst te verwijderen. Verwijder de volgende code.

removeChild (_Snowflake);

Als u uw film test, krijgt u foutmeldingen. Laten we zorgen voor de laatste fout in de lijst. We hebben deze foutmelding ontvangen omdat we één argument tussen haakjes van de sneeuwvlokfunctiecode hebben. Maar we gebruiken dit argument "event: Event" niet langer, omdat we de Event Listener hebben verwijderd. We moeten de "gebeurtenis: gebeurtenis" tussen haakjes verwijderen.

functie sneeuwvlok (): ongeldig

← terug | Volgende →

Copyright 2018 Adobe Systems Incorporated. Alle rechten voorbehouden. Schermafbeeldingen van Adobe-producten herdrukt met toestemming van 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, Fireworks, Contribute, Captivate, Flash Catalyst en Flash Paper is / zijn ofwel [a] geregistreerde handelsmerken [s] of een handelsmerk [s] van Adobe Systems Incorporated in de Verenigde Staten en / of andere landen.