Если вы не уверены, кто является родителем allContainer, используйте
allContainer.parent && allContainer.parent.removeChild(allContainer.parent);
(эта левая сторона просто выступает в роли охранника, чтобы гарантировать, что правая сторона вызывается, только если allContainer находится на сцене, вы можете альтернативно записать это как:)
if (allContainer.parent)
{
allContainer.parent.removeChild(allContainer.parent);
}
Цикл for, который вы пишете, также проблематичен, потому что после того, как вы удалили первого дочернего элемента в 0, все дочерние элементы сместятся вниз на один индекс, так что дочерний элемент в 1 теперь равен 0, а ваш индекс переместился в 1, так что ты продолжаешь скучать по детям! Вместо этого используйте это:
while (allContainer.numChildren)
{
allContainer.removeChildAt(0);
}
Таким образом цикл while будет повторяться, пока не будут удалены все дочерние элементы allContainer.
В качестве альтернативы, если вы хотите, чтобы это работало оптимально быстро, используйте
var i:int = allContainer.numChildren;
while (i--)
{
allContainer.removeChildAt(0);
}
Надеюсь, это поможет.