CreateJS:

root - myContainer - frame 0 -> btn_0 - frame 1 -> btn_1 

根的第一帧包含以下代码:MovieClip.children gotoAndStop()

问题描述:

CreateJS(2015年11月26日),通过动画CC(16.0.0.112)CreateJS:</p> <pre><code>root - myContainer - frame 0 -> btn_0 - frame 1 -> btn_1 </code></pre> <p>根的第一帧包含以下代码:MovieClip.children gotoAndStop()

结构后不更新:

var self = this; 
createjs.Ticker.addEventListener("tick", initScreen); 

function initScreen() { 
    createjs.Ticker.removeEventListener("tick", initScreen); 
    self.myContainer.gotoAndStop(1); 
} 

this.myContainer.addEventListener("click", function(e) { 
    console.log("Button 0 : "+self.myContainer.btn_0); 
    console.log("Button 1 : "+self.myContainer.btn_1); 
}); 

结果是:

[Log] Button 0 : [MovieClip] 
[Log] Button 1 : undefined 

并且在遍历self.myContainer.children时,只有btn_0存在。因为self.myContainer.children在播放帧时没有被更新。

看起来像一个bug,因为我找不到任何文档......但我很惊讶,我找不到任何其他人有这个问题。

任何帮助非常感谢。

(问题在这里提出:https://github.com/CreateJS/EaselJS/issues/848

我相信这是因为这两个按钮使用相同的符号。 在AnimateCC中,选择btn_1并通过交换 - 复制到新符号来更改其“实例”。

此记录对我来说:

Button 0 : [MovieClip (name=null)] 
Button 1 : [MovieClip (name=null)] 
+0

感谢Saariko ......必须采取一段时间才能发现解决方法!不幸的是,它并不适合我,因为上面的例子是一个项目的摘录,我在很多帧中都有很多按钮。我目前的解决方案是每个视图使用不同的MC,而不是每个视图的不同帧。 – oshevans