我一直在尝试为所有的tweens实现全局暂停。如果在我的动画循环中,我只是没有更新补间,它就会停止,但在我取消暂停后,它会跳到它应该有的位置,就好像我从未暂停过一样。
TWEEN.update(时间);
为了解决这个问题,我希望有一个单独的时间线作为更新函数的参数。我尝试创建一个不同的值并独立地更新它,但随后补间根本不会启动。
发布于 2016-02-24 02:52:33
所以这件事最终是可行的,想知道是否有更优雅的方法来使用补间的内部变量,如elapsed。
var delta = 0;
var tmp = 0;
var recorded = false;
function animate(timestamp) {
if(paused){
if(!recorded) {
tmp=timestamp;
recorded=true;
}
}
else {
if(recorded){
delta += timestamp-tmp;
recorded=false;
}
TWEEN.update(timestamp-delta);
}发布于 2018-12-16 23:57:34
在TWEEN.update(time)中保持时间将暂停补间。@Eugene是对的。
暂停时间缓存( pause times;
有关更多详细信息,请参阅:
https://github.com/tweenjs/tween.js/issues/341#issuecomment-447653541
发布于 2019-09-03 18:41:50
今天我写了一些小代码,可以帮助你暂停你的tweens。
//First you need set some id for your tween animation.
var myTween = createjs.Tween.get(your_object).to({your_animation_params} ...);
//When you need to paused your tween by some event
//just get this object and set it on the same coordinates(by example),
//with time animation = 0 to have accses to use Pause method
c.Tween.get(your_object).to({x:your_object.x}, 0).pause(myTween);
//Later you can just play(unpause) it again using same trick
c.Tween.get(your_object).to({x:your_object.x}, 0).play(myTween);https://stackoverflow.com/questions/35578312
复制相似问题