あなたが削除されたオブジェクトのトレースを追加する場合は、あなたも、ループを必要としないようにするには、[オブジェクトMainTimeline]を削除していることがわかります。
あなたのコードであなたは[オブジェクトMainTimeline]を削除し、すべてのクリップが削除されます。 whileループでは、forループにNot Errorをスローします。
function removing(e:MouseEvent):void {
var i:int = 0;
for (i=stage.numChildren-1; i>=0; i--)
{
trace("removing : " + (stage.getChildAt(i)));
stage.removeChildAt(i);
}
}
出力:
removing : [object MainTimeline]
だからあなたがオブジェクト[オブジェクトMainTimeline]を削除し、削除するためにこれ以上の子供がいます。
function removing(e:MouseEvent):void {
trace("removing : " + (stage.getChildAt(0)));
stage.removeChildAt(0);
}
は、おそらくあなたに同じ出力が得られます:
removing : [object MainTimeline]
[オブジェクトMainTimeline]が削除されるのであればあなたも、ループを必要としません。
私は同じ条件でテストしなかったので、同じ出力があるかどうか教えてください。削除
:
は、私はあなたがdifference between stage, root and main timeline
[EDIT]
function removingWhile(e:MouseEvent):void {
while (stage.numChildren > 0){
count++;
trace("removing : " + (stage.getChildAt(0)));
trace ("number of iterations = " + (count++).toString())
stage.removeChildAt(0);
}
}
ウィル出力を説明し@LukeVanInからの回答を確認することをお勧め[オブジェクトMainTimeline] 反復回数= 1
TypeError:Error#1009 ...Untitled_fla :: MainTimeline/removingWhile()
[/ EDIT]
で は、このエラーを回避するが、あまりにも[オブジェクトMainTimeline]を削除します。 したがって、最初のループの後に子がなくなります。 @Organis – tatactic