Efecto del viento con Flash CS3 Math.random ()
Ahora que tenemos nuestro copo de nieve cayendo en nuestro FlashR sistema de partículas, modifiquemos un poco el código ActionScript 3. Nuestro copo simplemente cae hacia abajo. Pero, a menos que no haya absolutamente viento, la mayoría de los copos descienden en una inclinación. Entonces usemos algunas matemáticas para hacer que nuestro copo se mueva ligeramente hacia la derecha mientras cae. Para agregar más realismo, queremos que cambie la cantidad de movimiento horizontal a medida que el copo de nieve desciende por el escenario.

Recuerde que en uno de nuestros tutoriales anteriores de esta serie, colocamos escamas en diferentes posiciones horizontalmente a lo largo de la parte superior del escenario. Lo hicimos estableciendo diferentes valores para la posición X para cada escama. Entonces, en este tutorial, podemos usar la misma propiedad _Snowflake.x nuevamente para controlar el movimiento horizontal en la animación.

En segundo lugar, cuando creamos nuestro copo, configuramos las posiciones iniciales X e Y del copo en un número aleatorio.

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

Podemos usar el mismo Math.random () para controlar la cantidad de movimiento horizontal aleatorio. ¿Has adivinado lo que viene después?

Sabemos que en cada fotograma de nuestra película Flash, llamamos a la función nevadas.

stage.addEventListener (Event.ENTER_FRAME, nevadas);

Esta función aumenta la propiedad the_Snowflake.y en 10 por cada cuadro. Esto es lo que mueve el copo por el escenario.

_Snowflake.y + = 10;

Pero eso es demasiado rápido para que podamos ver el sutil movimiento horizontal que agregaremos a continuación. Entonces, reduzcamos la velocidad un poco cambiando el 10 a 5.

_Snowflake.y + = 5;

Ahora podemos usar el mismo código para mover el copo horizontalmente a la derecha. Todo lo que tenemos que hacer es cambiar the_Snowflake.y a_Snowflake.x.

_Snowflake.x + = 10;

Ahora el copo de nieve se moverá 10 píxeles hacia la derecha y 5 píxeles hacia abajo en cada fotograma de nuestra película Flash. Pero, sería más realista si el movimiento horizontal del copo de nieve fuera más aleatorio, ya que baja por el escenario. Podemos hacer esto sustituyendo el 10 con un número aleatorio entre 0 y 9. Usaremos Math.random () para hacer esto.

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

A continuación, agregamos este nuevo código a la función nevadas y obtenemos esto.

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

Pero ahora que estamos moviendo el copo hacia la derecha, podría ir más allá del lado derecho de la pantalla. Recuerde que detuvimos el copo de nieve si caía debajo del escenario.

if (_Snowflake.y> 370)

También podemos detenerlo si va más allá del lado derecho del escenario. Agreguemos eso a nuestra declaración condicional. Como queremos que la animación se detenga si la primera O la segunda de estas condiciones son verdaderas, podemos usar || operador entre las dos condiciones en la instrucción if.

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

Si alguna de estas condiciones es verdadera, Flash eliminará el detector de eventos ENTER_FRAME.

Aquí está nuestro nuevo código.
stage.addEventListener (Event.ENTER_FRAME, nevadas);

var _Snowflake: mcSnowflake;

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

función nevada (evento: evento): vacío
{
if (_Snowflake.y> 370 || _Snowflake.x> 550)
{stage.removeEventListener (Event.ENTER_FRAME, nevadas); }
más
{_Snowflake.y + = 5; _Snowflake.x + = Math.random () * 10; }
}


Cuando envíe un mensaje de texto a su película, el copo de nieve ahora variará su movimiento horizontal a medida que cae al fondo del escenario. Guarde su escena de nieve como SnowScene6.fla.

Derechos de autor 2018 Adobe Systems Incorporated. Todos los derechos reservados. Las capturas de pantalla del producto Adobe se reimprimieron con permiso de Adobe Systems Incorporated. Adobe, Photoshop, Álbum de Photoshop, Photoshop Elements, Illustrator, InDesign, GoLive, Acrobat, Cue, Premiere Pro, Premiere Elements, Bridge, After Effects, InCopy, Dreamweaver, Flash, ActionScript, Fireworks, Contribute, Captivate, Flash Catalyst y Flash Paper es / es [una] marca registrada [s] o una marca registrada [s] de Adobe Systems Incorporated en los Estados Unidos y / u otros países.


Instrucciones De Vídeo: Adobe Flash CS3 Tutorial- Aprende a animar entendido el movimiento del viento ( capas, cabello, etc) (Mayo 2024).