二次缓动是最常用的,通过每次前进当前位置和目标位置之间距离的二分之一,如此重复操作,知道最后无限地接近目标点。但是这样永远无法达到目标点,所以一般控制在当前位置和目标位置之间的距离小于1像素时,可以近似认为已经达到了目标点。
二次缓动的计算公式为:
说明:其中dx,dy为目标位置距离当前位置之间的水平距离和垂直距离。
目标位置和当前位置距离小于1像素的判断公式如下。
distance=Math.sqrt(dx*dx+dy*dy)<1
下面创建一个小球,实现缓动跟随鼠标的效果: