因此,当我阅读这里时,TWEEN.update(#)应该将动画的帧呈现在#上,对吗?因此,如果我运行TWEEN.update( 100 ),我应该在每次运行TWEEN.update(100)时得到100的帧。
我遇到的问题是,每次运行更新函数时,这个更新函数呈现的时间似乎越早越早。因此,第一次动画100的帧看起来是正确的,但是如果我再次运行它,它看起来就像它在框架60附近的某个地方,下一次它看起来像是它的大约20,等等,直到动画元素处于吐温的开头,并且随着长度的增加等待一段时间,我运行环境的时间越长。
以前有没有人碰到过这个?我使用的变量不是与时间的流逝直接相关的IRL,所以我的动画函数如下所示:
animate(){
timeStep += variableControllingSpeed;
TWEEN.update(timeStep);
}我有UI来处理速度变量的变化。
有什么想法吗?
发布于 2016-06-21 22:57:57
修正了,如果您使用.update(#)手动设置动画帧,请确保将一个参数传递到您各自的.start()函数中。否则,中间变量的运行将为负值。
在我的例子中,每次我切换想要运行的tweens集合时,我都会启动.start(),所以当您运行该window.performance.now()函数时,它要么使用传递的开始值,要么抓取window.performance.now(),因此它运行的时间越长,window.performance.now()和我开始之间链之间的值之间的差距就越大。
https://stackoverflow.com/questions/37952404
复制相似问题