Weitere Math.random () -Methode im Partikelsystem
In unserem letzten Tutorial haben wir die Schneefallanimation für unser Flash CS3-Partikelsystem abgeschlossen. Zuerst haben wir eine Schneeflocke erstellt und animiert. Dann haben wir viele animierte Schneeflocken erstellt, um die Schneefallanimation zu vervollständigen. Als wir den Film getestet haben, waren wir jedoch nicht sehr zufrieden mit den Ergebnissen, da die Schneeflocken in der unteren linken Ecke der Bühne zu fehlen scheinen.

Was können wir tun, um unsere Animation anzupassen? Wie wir es jetzt codiert haben, kann eine Schneeflocke ihr Leben überall auf der Oberseite der Bühne an einer Position zwischen 0 und 510 auf der X-Achse beginnen. Dann geht diese Schneeflocke in einer Winkelrichtung nach rechts nach unten. Es scheint, dass es diese Winkelrichtung ist, die dazu führt, dass die Schneeflocken in der unteren linken Ecke der Bühne fehlen. Wir könnten den Code herausnehmen, der die Winkelbewegung erzeugt, und unsere Schneeflocken fallen direkt auf die Bühne. Wenn wir dies tun würden, würde der Schneefall die gesamte Bühne bedecken, aber wir würden die Illusion von Wind verlieren, die die Winkelbewegung simuliert.

Nehmen wir an, wir wollen diese Illusion von Wind beibehalten und müssen daher die Winkelbewegung beibehalten. Wie oben erwähnt, können unsere Schneeflocken überall auf der Bühne beginnen. Selbst die Schneeflocken, die ganz links von der Bühne (an der 0-Position auf der X-Achse) zu fallen beginnen, landen in der unteren Mitte der Bühne und lassen den linken Bereich leer. Wie können wir unseren Code so ändern, dass einige der Schneeflocken an einem tieferen Punkt entlang der vertikalen Y-Achse auf die Bühne gelangen und daher über die linke Ecke der Bühne fallen? Ohne zu viel Mathe für dieses Anfänger-Tutorial zu machen, müssen wir anfangen, Schneeflocken außerhalb des Bühnenbereichs auf der linken Seite zu erstellen. Obwohl diese Schneeflocken zu Beginn ihres Lebens unsichtbar sind, fallen sie mindestens die Hälfte der vertikalen Y-Achse hinunter, bevor sie die Bühne betreten und sichtbar werden. Auf diese Weise stellen wir sicher, dass diese Schneeflocken über die untere linke Ecke der Bühne fallen.

Im Moment generieren wir eine Zufallszahl für die Eigenschaft_Snowflake.x. Denken Sie daran, dass es die Eigenschaft _Snowflake.x ist, die die anfängliche X-Position für unsere Schneeflocken steuert. Diese Anfangsposition kann eine beliebige Zahl zwischen 0 und 510 entlang der X-Achse sein.

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

Wenn wir Flash anweisen, eine Zahl zwischen -350 und 510 zu verwenden, sind die Schneeflocken, die mit einer negativen Zahl beginnen, die Schneeflocken, die schließlich über die untere linke Ecke der Bühne fallen. Wir können dies tun, indem wir der Zufallszahl, die von der Math.random () -Methode generiert wird, eine -350 hinzufügen.

_Snowflake.x = -350 + Math.random () * 510;

Ändern Sie diese Codezeile und testen Sie Ihren Film. Was ist passiert? Wir haben unser Problem behoben und ein anderes verursacht. Jetzt fehlen die Schneeflocken in der oberen rechten Ecke der Bühne. Warum? Die größte Zahl für die Eigenschaft_Snowflake.x (die Position der Schneeflocke entlang der X-Achse) ist 160 (510 - 350). Der Rest der X-Achse zwischen 161 und 550 hat keine Schneeflocken und deshalb ist die obere rechte Ecke schneefrei. Wie kann die Zahl für die Eigenschaft_Snowflake.x zwischen 0 und 550 liegen? Wir können den Bereich der Zufallszahl auf 0 bis 900 (550 + 350) erweitern.

_Snowflake.x = -350 + Math.random () * 900;

Ändern Sie den Code und testen Sie erneut. Es klappt. Sind wir fertig? Nein, wenn Sie diese Animation einige Zeit laufen lassen, werden Sie feststellen, dass sie die Ressourcen Ihres Computers belastet. Wir müssen einige Änderungen am ActionScript vornehmen, um es effizienter zu gestalten.

Hinweis - Dieser Animationscode ist erst am Ende der Lernprogrammreihe vollständig. Verwenden Sie diesen unvollständigen Code nicht in Ihren Flash-Projekten.

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: Set random particle vector parameter via blueprint and ParticleSysParam (April 2024).