Windeffekt mit Flash CS3 Math.random ()
Jetzt, wo unsere Schneeflocke in unseren Blitz fälltR. Partikelsystem, ändern wir den ActionScript 3-Code ein wenig. Unsere Flocke fällt gerade nach unten. Aber wenn es absolut keinen Wind gibt, wandern die meisten Flocken schräg nach unten. Verwenden wir also etwas Mathematik, um unsere Flocke beim Fallen leicht nach rechts zu bewegen. Um mehr Realismus zu erzielen, möchten wir, dass sich die horizontale Bewegung ändert, wenn die Schneeflocke die Bühne hinuntergeht.

Denken Sie daran, dass wir in einem unserer früheren Tutorials in dieser Reihe Flocken an verschiedenen Positionen horizontal oben auf der Bühne platziert haben. Dazu haben wir für jede Flocke unterschiedliche Werte für die X-Position festgelegt. In diesem Tutorial können wir dieselbe _Snowflake.x-Eigenschaft erneut verwenden, um die horizontale Bewegung in der Animation zu steuern.

Zweitens haben wir beim Erstellen unserer Flocke die anfänglichen X- und Y-Positionen der Flocke auf eine Zufallszahl gesetzt.

_Snowflake.x = Math.random () * 510;
_Snowflake.y = Math.random () * 40;

Wir können dasselbe Math.random () verwenden, um das Ausmaß der zufälligen horizontalen Bewegung zu steuern. Hast du erraten, was als nächstes kommt?

Wir wissen, dass wir in jedem Bild unseres Flash-Films die Schneefallfunktion aufrufen.

stage.addEventListener (Event.ENTER_FRAME, Schneefall);

Diese Funktion erhöht die Eigenschaft_Snowflake.y für jeden Frame um 10. Dies ist es, was die Flocke die Bühne hinunter bewegt.

_Snowflake.y + = 10;

Aber das ist zu schnell, als dass wir die subtile horizontale Bewegung sehen könnten, die wir als nächstes hinzufügen werden. Lassen Sie es uns also etwas verlangsamen, indem Sie die 10 in eine 5 ändern.

_Snowflake.y + = 5;

Jetzt können wir denselben Code verwenden, um die Flocke horizontal nach rechts zu verschieben. Alles was wir tun müssen, ist die_Snowflake.y in_Snowflake.x zu ändern.

_Snowflake.x + = 10;

Jetzt bewegt sich die Schneeflocke bei jedem Bild in unserem Flash-Film um 10 Pixel nach rechts und um 5 Pixel nach unten. Es wäre jedoch realistischer, wenn die horizontale Bewegung der Schneeflocke zufälliger wäre, wenn sie die Bühne hinuntergeht. Wir können dies tun, indem wir die 10 durch eine Zufallszahl zwischen 0 und 9 ersetzen. Dazu verwenden wir Math.random ().

_Snowflake.x + = Math.random () * 10;

Als nächstes fügen wir diesen neuen Code zur Schneefallfunktion hinzu und erhalten diesen.

if (_Snowflake.y> 370)
{stage.removeEventListener (Event.ENTER_FRAME, Schneefall); }}
sonst
{_Snowflake.y + = 5;
_Snowflake.x + = Math.random () * 10;}

Aber jetzt, wo wir die Flocke nach rechts bewegen, geht sie möglicherweise über die rechte Seite des Bildschirms hinaus. Denken Sie daran, dass wir die Schneeflocke gestoppt haben, wenn sie unter die Bühne gefallen ist.

if (_Snowflake.y> 370)

Wir können es auch stoppen, wenn es über die rechte Seite der Bühne hinausgeht. Fügen wir das unserer bedingten Aussage hinzu. Da die Animation gestoppt werden soll, wenn entweder die erste oder die zweite dieser Bedingungen erfüllt ist, können wir || verwenden Operator zwischen den beiden Bedingungen in der if-Anweisung.

if (_Snowflake.y> 370 || _Snowflake.x> 550)

Wenn eine dieser Bedingungen erfüllt ist, entfernt Flash den Ereignis-Listener ENTER_FRAME.

Hier ist unser neuer Code.
stage.addEventListener (Event.ENTER_FRAME, Schneefall);

var _Snowflake: mcSnowflake;

_Snowflake = new mcSnowflake ();
addChild (_Snowflake);
_Snowflake.x = Math.random () * 510;
_Snowflake.y = Math.random () * 40;

Funktion Schneefall (Ereignis: Ereignis): nichtig
{
if (_Snowflake.y> 370 || _Snowflake.x> 550)
{stage.removeEventListener (Event.ENTER_FRAME, Schneefall); }}
sonst
{_Snowflake.y + = 5; _Snowflake.x + = Math.random () * 10; }}
}


Wenn Sie Ihrem Film eine SMS schreiben, ändert die Schneeflocke jetzt ihre horizontale Bewegung, wenn sie auf den Boden der Bühne fällt. Speichern Sie Ihre Schneeszene als SnowScene6.fla.

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: [ GIMP ] Wie erstellt man ein Text Windeffekt [ TUTORIAL ] [ FULL HD ] (April 2024).