Más método Math.random () en el sistema de partículas
En nuestro último tutorial, completamos la animación de nevadas para nuestro sistema de partículas Flash CS3. Primero creamos y animamos un copo de nieve. Luego creamos muchos copos de nieve animados para completar la animación de nevadas. Sin embargo, cuando probamos la película, no estábamos muy contentos con los resultados porque los copos de nieve parecen faltar en la esquina inferior izquierda del escenario.

¿Qué podemos hacer para ajustar nuestra animación? Como lo hemos codificado ahora, un copo de nieve puede comenzar su vida en cualquier lugar a lo largo de la parte superior del escenario en una posición entre 0 y 510 en el eje X. Luego, este copo de nieve avanza hacia abajo en una dirección angular hacia la derecha. Parece que es esta dirección angular la que hace que falten los copos de nieve en la esquina inferior izquierda del escenario. Podríamos sacar el código que crea el movimiento angular y nuestros copos de nieve caerán directamente por el escenario. Si hiciéramos esto, la nevada cubriría todo el escenario pero perderíamos la ilusión del viento que simula el movimiento angular.

Supongamos que queremos mantener esta ilusión de viento y, por lo tanto, debemos mantener el movimiento angular. Como mencionamos anteriormente, nuestros copos de nieve pueden comenzar en cualquier parte de la parte superior del escenario. Sin embargo, incluso los copos de nieve que comienzan a caer desde el extremo izquierdo del escenario (en la posición 0 en el eje X) aterrizarán en el centro inferior del escenario, dejando el área izquierda vacía. ¿Cómo podemos cambiar nuestro código para que algunos de los copos de nieve entren al escenario en un punto inferior a lo largo del eje vertical Y y, por lo tanto, caigan a través de la esquina izquierda del escenario? Sin entrar en demasiadas matemáticas para este tutorial para principiantes, debemos comenzar a crear copos de nieve fuera del área del escenario a la izquierda. Aunque estos copos de nieve serán invisibles cuando comiencen su vida, caerán al menos la mitad del eje vertical Y antes de entrar al escenario y hacerse visibles. Al hacer esto, nos aseguramos de que estos copos de nieve caigan en la esquina inferior izquierda del escenario.

En este momento, estamos generando un número aleatorio para la propiedad_Snowflake.x. Recuerde que es la propiedad _Snowflake.x la que controla la posición X inicial de nuestros copos de nieve. Esta posición inicial puede ser cualquier número entre 0 y 510 a lo largo del eje X.

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

Si le decimos a Flash que use un número entre -350 y 510, los copos de nieve que comienzan con un número negativo serán los copos de nieve que eventualmente caerán en la esquina inferior izquierda del escenario. Podemos hacer esto agregando un -350 al número aleatorio generado por el método Math.random ().

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

Cambia esta línea de código y prueba tu película. ¿Que pasó? Arreglamos nuestro problema y causamos otro. Ahora faltan los copos de nieve en la esquina superior derecha del escenario. ¿Por qué? El número más grande para la propiedad_Snowflake.x (la posición del copo de nieve a lo largo del eje X) será 160 (510 - 350). El resto del eje X entre 161 y 550 no tiene copos de nieve y es por eso que la esquina superior derecha está vacía de nieve. ¿Cómo podemos obtener que el número de la propiedad_Snowflake.x oscile entre 0 y 550? Podemos extender el rango del número aleatorio entre 0 y 900 (550 + 350).

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

Cambie el código y pruebe nuevamente. Funciona. ¿Terminamos? No, si deja que esta animación se ejecute durante un tiempo, notará que comienza a asignar recursos a su computadora. Necesitamos hacer algunos cambios en ActionScript para hacerlo más eficiente.

Nota: este código de animación no estará completo hasta que llegue al final de la serie de tutoriales. No use este código incompleto en sus proyectos Flash.

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: Clase Random en Java - Números aleatorios (Mayo 2024).