2009-05-18 45 views
1

我目前正在尝试在容器MC内部有多个MC,当他们单击迷你MC时,它将播放一条消息,以便我可以对其执行操作。这在AS 3中会很简单,因为它会是mc.addEventListener(MouseEvent.CLICK,obj);然而,这是AS 2,所以我被迫使用broadcastMessage('myMessage');和mc.addListener(obj);事件处理器。多个单片机,单听众,AsBroadcaster

主要问题是广播公司没有广播任何消息。

第二个问题是有5个MC,当我点击其中一个时,我得到5条跟踪消息。我似乎无法保持MC点击的独特性,即使它们都是通过属性面板给出单独的实例名称。

任何帮助,将不胜感激。

我的代码的链接是here (pastie.org #481511)。你能看到有什么不对吗?

回答

0

我已经得到了一半的答案。我在broadcastMessage()调用之前遗漏了一个“this”,所以一旦我将它改为this.broadcastMessage('myMessage',this)它就开始工作。

仍然存在一个影片剪辑同时呼叫同一个广播消息的5个不同实例(即拖动-从库中拖拽5次并命名为不同实例名称)的问题。我得到以下输出:

Object: _level0.instance1.photo5 
Object: _level0.instance1.photo4 
Object: _level0.instance1.photo3 
Object: _level0.instance1.photo2 
Object: _level0.instance1.photo1
0

想通了。最后必须使用hitTest()方法来查看点击是否在特定的动画片段内。