晴明的博客园 GitHub      CodePen      CodeWars     

[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);
posted @ 2016-12-21 14:24  晴明桑  阅读(301)  评论(0编辑  收藏  举报