如何创建一个平滑的动画,以缓解目标

时间:2012-02-15 22:00:24

标签: javascript animation requestanimationframe

如何创建一个平滑的动画,当它改变位置时,它会缓和目标?

As this jsFiddle shows,动画在moveTarget()期间停止或被阻挡,而不是继续朝向新的目标坐标。

实现预期效果的理想实施/结构是什么?

1 个答案:

答案 0 :(得分:8)

好的,在这里回答我自己的问题以防其他人遇到这个问题。

每次change触发时,不是计算change = finish - beginmoveTarget()),而是在onEnterFrame()中不断计算。所以moveTarget()只负责获得新的X和Y位置。

这使得值可以轻松朝向目标。

我还将缓动函数的时间值永久设置为1:

easeIn(1, begin, change, duration);

示例答案在此修订版jsFiddle中:http://jsfiddle.net/dannygarcia/LqP2R/45/