javascript - 添加EventListener后Tween.js不调用call函数

标签 javascript html tween

我正在使用 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/

相关文章:

javascript - 关于如何调整在 d3 中换行文本的函数的建议

javascript - 推送后阵列重置

javascript - 播放音乐

javascript - angularjs - 表单 ng-submit 不适用于动态生成的表单 html

html - 如何让文本位于div的左下角

java - 如何使用 Universal Tween Engine 立即完成或结束补间?

javascript - chrome.webRequest.onBeforeRequest 仅重定向最后一个 URL

javascript - 尝试使用 JavaScript 从 azure 获取访问 token 时无法加载响应数据

android:使用 libgdx/universal-tween-engine 发布后移动到触摸位置

android - Android 中的补间动画和逐帧动画