TWEEN.js TWEEN.update(时间)表现不符合记录

时间:2016-06-21 18:52:54

标签: javascript tween.js

所以,当我读它here时,TWEEN.update(#)应该在#右渲染动画的帧?因此,如果我运行TWEEN.update(100),每次运行TWEEN.update(100)时,我都应该将帧设置为100。

我遇到的问题是这个更新函数似乎每次运行时都会提前100和更早。因此,第一次以100为动画的帧看起来是正确的,但是如果我再次运行它看起来像是在第60帧左右的某个地方,下一次它看起来像是在20左右等,直到动画元素位于第一帧的开头。 tween和等待一段时间越长越长我运行环境。

之前还有其他人遇到过这个吗?我正在使用一个与时间流逝IRL没有直接关系的变量,所以我的动画函数看起来像这样:

animate(){
timeStep += variableControllingSpeed;
TWEEN.update(timeStep);
}

我有UI处理更改速度变量。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

已修复,如果您使用.update(#)手动设置动画帧,请确保将参数传递到各个补间的.start()函数中。否则,补间的已用变量变为负数。

在我的情况下,每次切换我想要运行的补间时,我都会启动补间,所以当你运行.start()函数时,它将使用你传递的起始值或者抓住window.performance。 now(),所以运行的时间越长,window.performance.now()与启动补间链的值之间的差距越大。