我甚至不确定这是否是可以通过代码解决的问题。我在数组中有简单的影片剪辑,我试图添加单击事件监听器,我可以将buttonMode更改为true并添加事件监听器,但只有一个影片剪辑实际显示了buttonMode的行为更改和事件监听器。
for(var d:int = 0; d < doors.length; d++)
{
doors[d].buttonMode = true;
doors[d].addEventListener(MouseEvent.CLICK, doorClick);
trace(doors[d].buttonMode);
trace(doors[d].hasEventListener(MouseEvent.CLICK));
}
所有跟踪都返回true,我追踪d
和doors[d]
以确保问题不在于阵列,但它不是唯一的门索引1按预期工作。我怎样才能找到为什么听众没有工作?
答案 0 :(得分:0)
隔离门和环。代码将在没有其他元素的情况下自行运行。我之前遇到过同样的问题,通常是因为另一个动画片段的不可见部分覆盖了按钮对象。
如果您动态添加其他可能覆盖门的MovieClip,请找到这些对象的容器动画片段,并将其属性mouseEnabled
和mouseChildren
设置为false
。容器及其子对象将不再接收鼠标点击而不是您的门动画片段。
这里的答案为我澄清了这个问题: