Я не знаю, есть ли встроенный способ сделать это.
Альтернативы включают очевидное,
private var _num_children:Number = 0;
addEventListener(Event.ENTER_FRAME, _checkChildren, false, 0, true);
private function _checkChildren($evt:Event):void {
if (this.numChildren != _num_children) {
_num_children = this.numChildren;
// There was a child (or more) added in the last frame execution
}
}
Однако это выглядит как более элегантное решение ...
public function _addChild($do:DisplayObject) {
$do .addEventListener(Event.ADDED_TO_STAGE, _childAdded);
addChild($do );
}
private function _childAdded($evt:Event) {
// do whatever with $evt.target
}
Разница здесь в том, что _childAdded будет запущен для каждого ребенка, добавленного с помощью метода _addChild. Это означает, что если вы выполняете какое-то дорогостоящее выполнение кода, вы будете делать это один раз для каждого дочернего экземпляра.
Если вы используете первый метод, вы вызываете метод только один раз за кадр, и если к одному кадру добавлено 10 изображений, он будет запущен только один раз.