我正在使用 tween.0.6.2 并遇到了问题。
以下代码片段(取自 the tween.js Getting Started site 并稍作简化)的工作原理如下:
createjs.Tween.get(circle)
.to({x: 400}, 1000, createjs.Ease.getPowInOut(4))
.call(function() {console.log("tween finished");});
补间完成后(圆已移动到 x=400),传递给 call
的函数将被执行。
但是在添加事件处理程序后,如下所示:
createjs.Tween.get(circle)
.to({x: 400}, 1000, createjs.Ease.getPowInOut(4))
.addEventListener("change", function() {console.log("tween changed");} )
.call(function() {console.log("tween finished");});
传递给call
的函数不再执行。
有什么想法吗?
最佳答案
对于每个遇到这个问题的人:经过一些实验,我发现这是可行的:
createjs.Tween.get(circle)
.to({x: 400}, 1000, createjs.Ease.getPowInOut(4))
.call(function() {console.log("tween finished");})
.addEventListener("change", function() {console.log("tween changed");} )
看起来,对 call
的调用必须在对 addEventListener
的调用之前。
编辑:
仍然没有按照预期的方式工作:在上面的示例中,在执行传递给 call
的函数之后(!),事件监听器被再次调用。
关于为什么会发生这种情况的想法仍然受欢迎......
关于javascript - 添加EventListener后Tween.js不调用call函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35650666/