ActionScript 3 Partikelsystem Schneefall in Flash
Methode Zwei

Mit der zweiten Methode können wir nur wenige Schneeflocken verwenden, anstatt ständig neue zu erstellen. Dazu müssen wir jedoch einen Weg finden, die von uns erzeugten Schneeflocken zu recyceln. Der erste Schritt besteht darin, die Art und Weise zu ändern, wie wir die Schneeflockenfunktion aufrufen, mit der die Schneeflocken erzeugt werden. Wir möchten nicht mehr mit jedem neuen Frame eine neue Schneeflocke erstellen, daher müssen wir den Ereignis-Listener oben im Code entfernen.

stage.addEventListener (Event.ENTER_FRAME, Schneeflocke);

Jetzt fügen wir den Code hinzu, der eine kleine Anzahl von Schneeflocken erzeugt. Wir werden eine for-Schleifenanweisung innerhalb der Schneeflockenfunktion verwenden, um die Anzahl der Schneeflocken zu steuern, die erstellt werden. Wir brauchen ungefähr 70 Schneeflocken. Wenn wir diese Zahl viel höher erhöhen, wird die Animation wieder zur Aufgabe. Platzieren Sie den Cursor innerhalb des Schneeflockenfunktionscodes direkt nach der öffnenden geschweiften Klammer und fügen Sie die Codezeile hinzu, die Flash anweist, die Schneeflockenfunktion 70 Mal zu wiederholen. Fügen Sie als Nächstes die öffnende geschweifte Klammer für die Schlaufe hinzu. Möglicherweise erkennen Sie dies für Schleifencode aus dem zweiten Lernprogramm in dieser Reihe.

Funktion Schneeflocke (Ereignis: Ereignis): nichtig
{
für (var i: Zahl = 0; i <70; i ++)
{


Der Rest des Schneeflocken-Funktionscodes sollte gleich bleiben. Jetzt müssen wir die for-Schleife mit einer schließenden geschweiften Klammer schließen. Platzieren Sie diese Klammer direkt nach der letzten Zeile der Funktion. Hier ist der Code. Ich habe den Hauptteil der Funktion nach rechts verschoben, um sie besser lesbar zu machen. Dies ist jedoch nicht erforderlich, damit der Code funktioniert.

Schließlich müssen wir die Schneefallfunktion aus der Schneeflockenfunktion entfernen. Das ist einfach zu machen. Bewegen Sie einfach die geschweifte Klammer, die die Schneeflockenfunktion schließt, vom unteren Ende des Programms bis knapp unter das Ende des for-Schleifencodes. Jetzt haben wir zwei Funktionen, die völlig voneinander getrennt sind.

Da wir die Schneeflockenfunktion nicht mehr mit dem Ereignis-Listener aufrufen, den wir oben im Code entfernt haben, müssen wir sie stattdessen mit einem einfachen Funktionsaufruf aufrufen. Da wir eine for-Schleifenanweisung innerhalb der Funktion verwenden, um die Funktion 70 Mal zu wiederholen, müssen wir die Funktion selbst nur einmal aufrufen. Platzieren Sie diesen Funktionsaufruf am Ende des gesamten Programmcodes.

Schneeflocke();

Schließlich müssen wir den removeChild-Code entfernen, den wir unserem Code für Methode 1 hinzugefügt haben. Denken Sie daran, dass wir diese Schneeflocken recyceln möchten, anstatt sie aus der Anzeigeliste zu entfernen. Entfernen Sie den folgenden Code.

removeChild (_Snowflake);

Wenn Sie Ihren Film testen, werden Fehlermeldungen angezeigt. Lassen Sie uns den letzten Fehler in der Liste beheben. Wir haben diese Fehlermeldung erhalten, weil wir ein Argument in den Klammern des Schneeflocken-Funktionscodes haben. Wir verwenden dieses Argument "event: Event" jedoch nicht mehr, da wir den Event Listener entfernt haben. Wir müssen das "Ereignis: Ereignis" aus den Klammern entfernen.

Funktion Schneeflocke (): nichtig

← Zurück | Weiter →

Copyright 2018 Adobe Systems Incorporated. Alle Rechte vorbehalten. Screenshots von Adobe-Produkten mit Genehmigung von Adobe Systems Incorporated. Adobe, Photoshop, Photoshop-Album, Photoshop-Elemente, Illustrator, InDesign, GoLive, Acrobat, Cue, Premiere Pro, Premiere-Elemente, Bridge, After Effects, InCopy, Dreamweaver, Flash, ActionScript, Fireworks, Contribute, Captivate, Flash Catalyst und Flash Paper ist / sind entweder [eine] eingetragene Marke (n) oder eine Marke (n) von Adobe Systems Incorporated in den USA und / oder anderen Ländern.


Video-Anleitungen: Controlling Particles Via Script - Particle Launcher Script [4/11] Live 2017/2/8 (April 2024).