Quiero animar MoviveClips/Sprite objetos como smootly como sea posible. Sin embargo, hasta ahora, el único método que funciona es colocar el código de movimiento en el controlador de eventos EnterFrame. Hay un problema con este enfoque: cuando el framerate en una máquina específica está por debajo del framerate deseado, entonces todo el juego se ralentiza. Quiero poder hacer esto de una manera independiente del tiempo.ActionScript 3: animación programática Smooth
Respuesta
Hay dos maneras de hacer la animación programática dentro del reproductor de Flash. Lo primero que ya señaló utilizando un onEnterFrame. Sin embargo, como ya habrás notado, para obtener una animación suave necesitas aumentar la velocidad de fotogramas general de tu película. Hacer esto también aumentará la carga de la CPU durante todo el período de tiempo que se ejecuta su SWF. Esto no es algo que siempre quieres.
La otra forma de hacer animación programática es mediante el uso de un temporizador. Dentro de un manejador de temporizador es posible llamar a una función llamada updateAfterEvent
que actualizará la pantalla independientemente del FPS que establecería para su SWF. Por lo tanto, el uso de un temporizador deja una puerta de enlace para hacer una animación fluida dentro del reproductor Flash sin aumentar la velocidad de fotogramas general de su SWF. Hace
dos años o así que se dispuso a crear mis propias bibliotecas de interpolación para flash (debido a mis frustraciones con las bibliotecas tween entonces existentes disponibles). Lo lancé con el nombre Coretween y esta biblioteca le permite, entre otras cosas, elegir qué tipo de animación prefiere para cada interpolación individual. En la página de documentación doy un example de la diferencia entre la animación basada en el marco y la basada en el tiempo. El archivo SWF de ejemplo en esa página se ejecuta a 12 fps, pero como puede ver, el círculo inferior se suaviza mucho más porque es controlado por un temporizador que funciona a 60 fps y actualiza la pantalla en función de la velocidad de fotogramas SWF. No obstante, tenga en cuenta que incluso el temporizador funciona a 60 fps, en realidad, Flash Player nunca podrá alcanzar esta velocidad de cuadro. Sin embargo, tratará de lograr esta velocidad de cuadro que da como resultado una animación general mucho más suave.
Por desgracia, hasta ahora no hemos sido capaces de liberar una versión 1.0 de la biblioteca de mi pero por lo que sé que es bastante estable. Eres más que bienvenido para usarlo de la forma que consideres conveniente. He usado Coretween en muchas producciones comerciales, incluida esta que hicimos para el banco StGeorge aquí en Australia.
Estas son algunas bibliotecas de animación basadas Actionscript:
Ambos funcionan bien, y debe ayudarle con lo que necesite.
Por desgracia no es así, ya que necesito un control suave en tiempo real sobre mis objetos. El método tweener, que garantiza que a veces en el futuro el objeto llegará a su posición deseada, es "poco bueno". – George
- 1. actionscript 3 init()
- 2. Trigonometría triangular (ActionScript 3)
- 3. Colecciones Inmutables Actionscript 3
- 4. Actionscript 3 REPL
- 5. Depuración Haxe (ActionScript 3)
- 6. actionscript 3 y JSON
- 7. Smooth PostScript animations
- 8. Actionscript 3 - Importar archivo SVG
- 9. Dynamic Audio Generation Actionscript 3
- 10. ActionScript 3 ¿Especificación como PDF?
- 11. Herencia múltiple en ActionScript 3
- 12. traer objeto al flash frontal actionscript 3
- 13. Obtener URL del navegador actual - ActionScript 3
- 14. Descarga de un ByteArray con Actionscript 3
- 15. ¿ActionScript-3 no puede tener múltiples constructores?
- 16. Dibujar texto en forma en ActionScript 3
- 17. Descripción de Array :: empalme en ActionScript 3
- 18. ¿Algún recurso para juegos Pure Actionscript 3?
- 19. ¿Es el diccionario ActionScript 3 un hashmap?
- 20. Insertar mp3 en ActionScript 3 no funciona
- 21. Actionscript 3: ¿Cargando archivos ai dinámicamente?
- 22. recorte de cadenas con actionscript 3
- 23. ¿Cómo funciona Vector map() en actionscript 3?
- 24. Actionscript 3 ExternalInterface, Pass variable to javascript?
- 25. as3 matriz aleatoria - aleatorizar matriz - actionscript 3
- 26. Obtener tamaño de diccionario de ActionScript 3
- 27. Comunicación entre C++ y actionscript 3
- 28. Actionscript 3 fuera de Flash/Flex
- 29. Ampliación de matriz en Actionscript 3 (Flex)
- 30. smooth svg path connection
¡Impresionante! Justo lo que necesito. Voy a esperar con la aceptación, para que pueda obtener más votos positivos :) – George
Gracias. Las personas aún pueden votar cuando se acepta una respuesta. :) – Luke
Las preguntas sin respuestas aceptadas generalmente reciben más atención. La mayoría de los usuarios no se molestan en votar una respuesta después de ser aceptada. – George