В чем разница между Event.REMOVED и Event.REMOVED_FROM_STAGE? - PullRequest
3 голосов
/ 28 января 2011

В чем разница между Event.REMOVED и Event.REMOVED_FROM_STAGE?

Я думал, когда у вас есть:

removeChild(mySpriteInstance);
  • что это убирает предмет со сцены ... есть ли другой вид удаления ??

Например, если я пытаюсь «очистить» после удаления элемента для сборщика мусора ... должен ли я слушать:

Event.REMOVED

или

Event.REMOVED_FROM_STAGE

1 Ответ

4 голосов
/ 28 января 2011

УДАЛЕНО вызывается, даже если объект отображения не находится на сцене:

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

childA никогда не было в списке отображения сцены, равно как и childB.

Edit:

Вы всегда можете использовать слабую ссылку в вашем слушателе (последний параметр как true):

addEventListener(Event.REMOVED, onRemoved, false, 0, true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...