AS3 - 使ADDED_TO_STAGE捕获/冒泡?

时间:2014-01-06 06:00:00

标签: actionscript-3 flash

因此* ADDED_TO_STAGE *和* REMOVED_FROM_STAGE *事件不会以任何方式通知祖先。我环顾四周,无法找到答案......我是否需要建立一个新类来完成它,或者有没有办法破解它使用Capture / Bubble通知阶段?

1 个答案:

答案 0 :(得分:1)

从舞台中删除的DisplayObject的后代会在其父级从舞台的显示列表中删除时调度它自己的REMOVED_FROM_STAGEADDED_FROM_STAGE个事件。

因此,您只需向任何后代添加一个事件侦听器,并让它直接处理这些事件。

我可能误解了你想要做的事情,但总的来说,从儿童对象到父母的事件会上升。因此,当你说后代没有得到通知时,你是正确的,因为他们没有在heiarchy上向上。但是,如果您的目标是让某个对象知道何时在舞台的显示列表中添加/删除它,那么可以通过聆听特定的DisplayObject来获取。

因此,虽然添加/删除的事件不会冒泡到他们的祖先,但有​​一种方法可以直接监听他们的事件。

如果您将MovieClip或Sprite子类化,您可以让该类侦听该事件,然后将一个确实起泡的事件发送给祖先。

但是,我认为我们更好地了解您正在尝试做什么,因为您的方法可能是真正的问题。