Fabric.js método easyInOutExpo()

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 de 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 easyInOutExpo() se utiliza para la entrada y salida exponencial.

Sintaxis:

easeInOutExpo(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

<!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 easeInOutExpo() function
       function easeInOutExpo (t, b, c, d) {
          if (t == 0) return b;
          if (t == d) return b + c;
          if ((t /= d / 2) < 1) return c / 2 * Math.pow(2, 10 * (t - 1)) + b;
          return c / 2 * (-Math.pow(2, -10 * --t) + 2) + b;
       }
  
       // Calling the easeInOutExpo() function over
       // the specified parameter values
       console.log(fabric.util.ease.easeInOutExpo(1, 2, 3, 4)); 
    </script>
</body>
  
</html>

Producción:

2.046875

Ejemplo 2:

HTML

<!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 easeInOutExpo() function
      function easeInOutExpo (t, b, c, d) {
          if (t == 0) return b;
          if (t == d) return b + c;
          if ((t /= d / 2) < 1) return c / 2 * Math.pow(2, 10 * (t - 1)) + b;
          return c / 2 * (-Math.pow(2, -10 * --t) + 2) + b;
      }
        
      // Initializing the parameters with its values
      var t = 5;
      var b = 10;
      var c = 40;
      var d = 12;
  
      // Calling the easeInOutExpo() function over
      // the specified parameter values
      console.log(fabric.util.ease.easeInOutExpo(t, b, c, d)); 
    </script>
</body>
  
</html>

Producción:

16.299605249474368

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *