所以,我有一个类(称为类A),它添加了一个MovieClip类的子类(来自库的对象和.as文件)。 A类会删除并添加这个类很多次,所以我不想和一群没有做任何事情的听众一起玩。
我想听一下MovieClip上的点击,所以我认为至少有树的方法可以做到这一点:
所以,我的问题是:
如果有人可以清楚地回答这些问题,一次一个,那将是非常好的,所以我可以解决问题。 =)
答案 0 :(得分:1)
2和3.我认为你说你将从A类多次添加和删除你的MovieClip。除了CLICK事件监听器之外,你的MovieClip的.as文件应该有。您正在谈论的另外两个事件监听器功能 - 一个在ADDED_TO_STAGE事件发生时触发,另一个侦听REMOVED_FROM_STAGE事件。只要在显示列表中添加或删除MovieClip本身,这两个就会添加和删除您的CLICK侦听器。
所以在MovieClip的构造函数中这样说:addEventListener(Event,ADDED_TO_STAGE,onAddedToStage,false,0,true);
在' onAddedToStage'功能说:
addEventListener(Event,REMOVED_FROM_STAGE,onRemovedFromStage;
然后添加你的CLICK监听器。
在'onRemovedFromStage' function:删除REMOVED_FROM_STAGE侦听器和CLICK侦听器。
唯一没有被代码删除的侦听器是ADDED_TO_STAGE侦听器,但是因为您创建了一个弱引用(“addEventListener'行注册它”中的' true')如果不再需要MovieClip,最终将被垃圾收集。