[canvas] 缓动、弹性
缓动动画(easing)
缓动动画中,距离的百分比作用于速度,物体距离目标位置越远,运动的速度就越大,
随着物体距离目标位置越来越近,速度逐渐降低为零,停止在目标位置。
easing就是我们设定的缓动参数,每一帧都乘以距离,随着距离的不断减小,速度也就不断减小。
object.x += (targetX - object.x) * easing;
object.y += (targetY - object.y) * easing;
弹性动画(spring)
弹性动画中,距离的百分比作用于加速度,同样是距离目标位置越远,
加速度越大,随着距离越来越近,加速度最终为零。
vx += (targetX - object.x) * spring;
vy += (targetY - object.y) * spring;
object.x += (vx*=f);
object.y += (vy*=f);