TweenJS旋转平滑bug

时间:2017-12-27 19:43:01

标签: javascript createjs tweenjs

我今天在使用TweenJS时发现了bug,这是从socket.io服务器动画我的基于tick的响应时的问题。 我每隔1/10秒(每秒10个滴答)获得位置和旋转,并通过TweenJS .to()函数平滑此移动。

定位像魅力一样工作,但当我在0/360度左右转换时旋转是错误的。

服务器发送例如rotation: 350°并在下一个tick服务器发送rotation: 10°,但我不想要整个340°,只有20°的动画。 所以我希望通过最短的方式来自/到BUT的动画。 插件不起作用的方式。

小提琴: http://jsfiddle.net/bateriecz/wmj52eqd

编辑:我发现,TweenJS默认设置为最短路,但不适合我

1 个答案:

答案 0 :(得分:0)

TweenJS中已经提供了一个旋转插件:https://github.com/CreateJS/TweenJS/tree/master/src/tweenjs/plugins

来自文档:

  

安装后,默认情况下,所有旋转补间都将在旋转中旋转   最短的方向。例如,如果您从rotation=15补间到   rotation=330,它将逆时针旋转45度。您可以   通过指定rotationDir补间值来修改此行为。一个   值-1将强制CCW轮换,1将强制CW,0将强制CW   禁用补间的那部分的插件效果。

请注意,您需要最新的TweenJS(1.0.0),因为它自上一版本(0.6.2)以来经过了大量重构。在早期版本中,有一个" SmartRotationPlugin",它的工作方式相同。