Open In App

Fabric.js easeInOutBack() Method

In games or animations, there are many moving objects which can move them from point A to B linearly, but after applying an easing, or easing function, it can make it look more natural. An easing function says an animation of how to progress. In this way, a straight motion can take an interesting shape.

Easing functions specify the rate of change of a parameter over time. It is whose equations which make something move slowly at the start and speed up, or slow down near the end. The most common set of easing equations come from Robert Penner’s book and webpage.



The easeInOutBack() method is used for the effect of backwards easing in and out the object it is used on.

Syntax:



easeInOutBack(t, b, c, d)

Parameters: This method accepts four parameters as mentioned above and described below:

Return Value: This method returns the eased position of the object i.e., the position of the object at a specific time.

Example 1:




<html>
<head>
  <!-- Adding the FabricJS library -->
  <script src=
  </script>
</head>
<body>
<script type="text/javascript">
    
   // The easeInOutBack() function
   function easeInOutBack (t, b, c, d) {
      if (s == undefined) s = 1.70158;
      if ((t /= d / 2) < 1
        return c / 2 * 
          (t * t * (((s *= (1.525)) + 1)
                    * t - s)) + b;
      return c / 2 * 
        ((t -= 2) * t * 
         (((s *= (1.525)) + 1) * t
                    + s) + 2) + b;
   }
  
   // Calling the easeInOutBack() function over
   // the specified parameter values
   console.log(
     fabric.util.ease.easeInOutBack(1, 2, 3, 4)
   ); 
</script>
</body>
</html>

Output:

1.70095446875

Example 2:




<html>
<head>
  <!-- Adding the FabricJS library -->
  <script src=
  </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 easeInOutBack() function over
   // the specified parameter values
   console.log(
     fabric.util.ease.easeInOutBack(t, b, c, d)
   ); 
</script>
</body>
</html>

Output:

15.567339120370374

Article Tags :