Cómo crear una animación suave que se alivie hacia el objetivo
-
25-10-2019 - |
Pregunta
¿Cómo puedo crear una animación suave que se relaje hacia un objetivo a medida que cambia de posición?
Como muestra este jsfiddle, la animación se detiene o se bloquea durante moveTarget()
en lugar de continuar hacia las nuevas coordenadas objetivo.
¿Cuál sería la implementación / estructura ideal para lograr el efecto deseado?
Solución
Ok, respondiendo a mi propia pregunta aquí en caso de que alguien más tenga este problema.
En lugar de calcular change
(change = finish - begin
) cada vez moveTarget()
incendios, se calcula constantemente en onEnterFrame()
. Asi que moveTarget()
Solo responsable de obtener las nuevas posiciones X e Y.
Esto permite que los valores se alivien hacia el objetivo.
También establecí permanentemente el valor de tiempo de la función de flexión para que siempre sea 1:
easeIn(1, begin, change, duration);
La respuesta de ejemplo es en esta revisión jsfiddle: http://jsfiddle.net/dannygarcia/lqp2r/45/