En la animación y los juegos, se puede ver que muchos objetos se mueven de un punto a otro de forma lineal. Pero después de usar la función Easing, la forma de progresar del objeto puede tomar una forma diferente, natural e interesante.
Las funciones de aceleración son la tasa de cambio de un parámetro a lo largo del tiempo. Es ese tipo de ecuación que se mueve lentamente al principio y se acelera, y se ralentiza al final. Este conjunto de ecuaciones está tomado del libro y la página web de Robert Penner.
El método easyOutExpo() se utiliza para la relajación exponencial.
Sintaxis:
easeOutExpo(t, b, c, d)
Parámetros: este método acepta cuatro parámetros, como se mencionó anteriormente y se describe a continuación:
- t: este parámetro contiene el tiempo especificado cuando comenzará la animación. Por ejemplo, si el valor de t es 0, significa que la animación acaba de comenzar.
- b: Este parámetro mantiene la posición inicial especificada del objeto en el eje x. Por ejemplo, si el valor de b es 10, significa que la posición inicial de los objetos en la coordenada x es 10.
- c: este parámetro contiene el cambio de valor especificado para el objeto. Por ejemplo, si el valor de c es 30, significa que el objeto debe moverse 30 a la derecha, terminando en 40.
- d: este parámetro contiene la duración especificada de todo el proceso. Por ejemplo, si el valor de d es 2, significa que el objeto tiene 2 segundos para realizar este movimiento de 10 a 40.
Valor devuelto: este método devuelve la posición relajada del objeto, es decir, la posición del objeto en un momento específico.
Ejemplo 1:
Javascript
<!DOCTYPE html> <html> <head> <!-- Adding the FabricJS library --> <script src= "https://cdnjs.cloudflare.com/ajax/libs/fabric.js/3.6.2/fabric.min.js"> </script> </head> <body> <script type="text/javascript"> // Initializing easeOutExpo() function function easeOutExpo (t, b, c, d) { return (t == d) ? b + c : c * (-Math.pow(2, -10 * t / d) + 1) + b; } // Calling the easeOutExpo() function over // the specified parameter values console.log(fabric.util.ease.easeOutExpo(1, 2, 3, 4)); </script> </body> </html>
Producción:
4.4696699141100895
Ejemplo 2:
Javascript
<!DOCTYPE html> <html> <head> <!-- Adding the FabricJS library --> <script src= "https://cdnjs.cloudflare.com/ajax/libs/fabric.js/3.6.2/fabric.min.js"> </script> </head> <body> <script type="text/javascript"> // Initializing easeOutExpo() function function easeOutExpo (t, b, c, d) { return (t == d) ? b + c : c * (-Math.pow(2, -10 * t / d) + 1) + b; } // Initializing the parameters with its values var t = 5; var b = 10; var c = 40; var d = 12; // Calling the easeOutExpo() function over // the specified parameter values console.log(fabric.util.ease.easeOutExpo(t, b, c, d)); </script> </body> </html>
Producción:
47.772753204649156
Publicación traducida automáticamente
Artículo escrito por Kanchan_Ray y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA