Optimización de la animación del sistema de partículas Flash CS3
Ahora que tenemos el FlashR La animación de nevadas del sistema de partículas CS3 funciona exactamente como queremos, es hora de optimizar el código del programa de escenas de nieve. Si probó la animación que hemos escrito en los tutoriales anteriores, probablemente notó que después de un tiempo, la animación tiende a agotar los recursos de su computadora. En este tutorial, veremos algunas formas de hacer que la animación sea más eficiente.

Tal como está el código ahora, estamos utilizando un escucha de eventos para escuchar cada nuevo cuadro de la animación. Con cada nuevo marco, la función de copo de nieve (controlador de eventos) crea un nuevo copo de nieve y agrega ese copo de nieve a la lista de visualización Flash. A continuación, usamos Math.random () para aleatorizar la posición y las propiedades alfa de este copo de nieve. Utilizamos un segundo Event Listener para llamar a la función nevadas, nuevamente con cada nuevo marco. La función de nevadas verifica si el copo de nieve se ha movido más allá del borde derecho o inferior del escenario. Si es así, eliminamos el segundo Event Listener que repite la función nevada. Esto hace que un copo de nieve deje de caer, mientras que los otros copos de nieve continúan cayendo. La repetición de la función de copo de nieve crea la animación de nevadas. Lo que debemos hacer ahora es cambiar el código para que sea más eficiente.

Método uno

El primer método requiere la adición de una sola línea de código a nuestro programa. Ya tenemos una declaración condicional dentro de la función de nevadas que verifica si el copo de nieve ha ido más allá del escenario y, de ser así, elimina el oyente de eventos y detiene la caída del copo de nieve.
El copo de nieve deja de moverse pero todavía es visible en la parte inferior del escenario. Debido a que todavía es visible y aún está en la lista de visualización, Flash todavía gasta recursos en este copo de nieve. Si eliminamos el copo de nieve de la lista de visualización, liberará los recursos y la animación será más eficiente. Para eliminar los copos de nieve que ya no necesitamos en la lista de visualización, podemos agregar un código removeChild a la declaración condicional.

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


Cuando prueba su película, los copos de nieve desaparecen cuando alcanzan el borde derecho o inferior del escenario y la animación es más eficiente.

Siguiente →

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: Rigging y animación de personajes en Moho – Curso online de Mauricio Esparza (Mayo 2024).