En juegos o animaciones, hay muchos objetos en movimiento que pueden moverlos del punto A al B de forma lineal, pero después de aplicar una función de aceleración o aceleración, puede hacer que se vea más natural. Una función de aceleración dice una animación cómo progresar. De esta manera, un movimiento rectilíneo puede tomar una forma interesante.
Las funciones de aceleración especifican la tasa de cambio de un parámetro a lo largo del tiempo. Son cuyas ecuaciones hacen que algo se mueva lentamente al principio y se acelere o disminuya la velocidad cerca del final. El conjunto más común de ecuaciones de aceleración proviene del libro y la página web de Robert Penner.
El método easyInOutCirc() se usa para el efecto de entrada y salida circular del objeto en el que se usa.
Sintaxis:
easeInOutCirc(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:
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"> // The easeInOutCirc() function function easeInOutCirc (t, b, c, d) { if ((t /= d / 2) < 1) return -c / 2 * (Math.sqrt(1 - t * t) - 1) + b; return c / 2 * (Math.sqrt(1 - (t -= 2) * t) + 1) + b; } // Calling the easeInOutCirc() function // over the specified parameter values console.log( fabric.util.ease.easeInOutCirc(1, 2, 3, 4) ); </script> </body> </html>
Producción:
2.200961894323342
Ejemplo 2:
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 the parameters with its values var t = 5; var b = 10; var c = 40; var d = 12; // Calling the easeInOutCirc() function // over the specified parameter values console.log( fabric.util.ease.easeInOutCirc(t, b, c, d) ); </script> </body> </html>
Producción:
18.94458403214867
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