如何检测Tween.js动画是否完成?

6

我正在使用这段代码通过 tween.js 在场景中对相机进行动画处理。是否存在任何“完成”或“结束”事件?

            tween : function (target){
                var position = camera.position;
                var tween = new TWEEN.Tween(position).to(target, 1800);

                tween.onUpdate(function(){
                    camera.position.x = position.x;
                    camera.position.y = position.y;
                    camera.position.z = position.z;
                    if (android){
                        camera.lookAt(android.position)
                    }
                });
                tween.easing(TWEEN.Easing.Bounce.Out);
                tween.start(); 
            },

顺便提一下,当我在 Tween.js 的帖子周围潜伏时,这段代码片段不需要在 onUpdate 中再次设置位置,因为此时 Tween 已经设置了位置。它只是将自己的值重新分配给自己。 - rtpHarry
2个回答

14

提供一个onComplete函数:

tween.onComplete(function() {
  console.log('done!')
});

文档


4

截至2018年4月,文档中不存在.onComplete。相反,您可以使用.call函数,然后传递自定义函数。

   createjs.Tween.get(target).to({alpha:1}, 1000).call(handleComplete);
    function handleComplete() {
        //Tween complete
    }

请查看文档:https://www.createjs.com/docs/tweenjs/modules/TweenJS.html


4
这是两个不同的库,一个是tween.js,另一个是tweenjs - rtpHarry

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接