2012-04-16 7 views
15

En este gran web page encontré una lista de algoritmos de suavizado que pueden agregar un atractivo visual agradable a mis páginas web.Ease Out Cubic - Argumentos de la función Explicación

A pesar de que encontré una breve mención de los argumentos de la función (ver a continuación), el algoritmo no se comporta como yo quisiera. ¿Puedo pedir amablemente una explicación sobre qué valores/rangos se deben ingresar en los argumentos de la función que se menciona a continuación?

Lista de argumentos:

  • t: tiempo actual - aquí debe ser valores 0 ... 1, o número real de la trama actual?
  • b: valor inicial - Asumo, un comienzo X o Y de coordenadas del objeto que está siendo movido
  • C: cambio en el valor - puede ser el número 1 aquí todo el tiempo para todos los marcos?
  • d: duración - ¿el número total de cuadros?

Math.easeOutCubic = function (t, b, c, d) { t /= d; t--; return c*(t*t*t + 1) + b; };

caso de que los valores se añaden incrementalmente al último valor obtenido de la función, o en caso de que se añaden a la posición 0 inicial?

+1

Este enlace explica mi pregunta con bastante detalle: http://upshots.org/actionscript/jsas-understanding-easing –

Respuesta

15

Tienes razón, d es para la duración y t es la hora actual. Por lo tanto, t debe ser de 0 a d.

c es un cambio total, debe ser igual a end value - start value.

  • Para t = 0 tenemos c*(-1 + 1) + b o b
  • Para t = d tenemos c*(0 + 1) + b o b + c

función sería la misma para cualquier fps, que depende de cómo actualizar con frecuencia posición y llamar a la función .

+0

+1, hola y gracias por su reaplicación. Voy a probar la fórmula con nueva información cuando llegue a casa. ** ¿Puede b (valor de inicio) ser un número negativo también? ** Diga, si deseo mover el objeto fuera de la pantalla, lo que significa de -50y a 250y. No estoy seguro si la fórmula funcionará de esa manera también. –

+0

Sí. Solo si cambia 't' de 0 a algún valor negativo, no funcionará de la manera prevista. – kirilloid

+0

Puedo confirmar que, después de una correcta comprensión de los argumentos de la función, los objetos 2d se comportan como deberían implementarse con facilidad. Por lo tanto, identifico su respuesta como la * Respuesta Aceptada *. –

Cuestiones relacionadas