Вот хороший способ удалить всех детей с эффектом исчезновения.Вам необходимо включить TweenLite (или TweenMax) в ваш путь к классам.
Он проходит через каждый дочерний элемент, затемняет его и по завершении удаляет его со сцены.Безопасно сразу добавлять дочерние элементы, как только это вызывается, и мы можем безопасно перебирать список в порядке возрастания, поскольку ничего не удаляется до тех пор, пока не исчезнет эффект затухания.
fadeOutChildren(myPanel, 3);
Вот код:
public function fadeOutChildren(symbol:DisplayObjectContainer, duration:Number=.5):void {
trace("REMOVING " + symbol.numChildren + " ITEMS");
if (symbol != null)
{
for (var i:int=0; i<symbol.numChildren; i++)
{
TweenLite.to(symbol.getChildAt(i), duration,
{
alpha: 0,
onComplete: function(parent:DisplayObjectContainer, child:DisplayObject):void {
parent.removeChild(child);
},
onCompleteParams: [symbol, symbol.getChildAt(i)]
}
);
}
}
}
Все исчезает сразу.Вы можете легко добавить delay: i*.2
в список параметров к TweenLite.to
, если хотите, чтобы они постепенно исчезали один за другим.