Event.REMOVED和Event.REMOVED_FROM_STAGE有什么区别?

时间:2011-01-28 16:50:26

标签: actionscript-3

Event.REMOVED和Event.REMOVED_FROM_STAGE有什么区别?

我想你的时候:

removeChild(mySpriteInstance);
  • 这会从舞台中删除该项目......是否有其他类型的删除?

例如,如果我在为垃圾收集器移除某个项目后尝试“清理”...我应该正在倾听:

Event.REMOVED

Event.REMOVED_FROM_STAGE

1 个答案:

答案 0 :(得分:4)

即使displayobject不在舞台上,也会调用REMOVED:

var childA : Sprite = new Sprite();
var childB : Sprite = new Sprite();
childA.addChild(childB);
childA.removeChild(childB); // Event dispatched on childB

childA从未进入舞台显示列表,也不是childB。

编辑:

您总是可以在侦听器中使用弱引用(最后一个参数为true):

addEventListener(Event.REMOVED, onRemoved, false, 0, true);