为什么在我从舞台上移除所有儿童后才能添加儿童?

时间:2014-03-19 04:09:38

标签: actionscript-3 actionscript

为什么如果我从舞台上删除所有内容,那么我无法添加任何内容?它变得空白。

if(stage.numChildren > 0)
{
  stage.removeChildAt(0);
}

var s5:Autodetail= new Autodetail ();
     addChild(s5);

3 个答案:

答案 0 :(得分:1)

应该有一个while循环来删除舞台上的所有孩子:

while(stage.numChildren > 0)
{
   stage.removeChildAt(0);
}

您应该可以在舞台上添加新内容。

有什么问题吗?
new Autodetail ()

答案 1 :(得分:1)

您正在尝试在当前DisplayObject的上下文中添加s5变量。它不一定是你的阶段,我猜它正是由Stage.removeChildAt(0)删除了DisplayObject。 解决方案:使用while循环而不是阶段。当this对象成为舞台上的孩子时,它会清理当前的孩子。 代码:

if(this.numChildren > 0)
{
  this.removeChildAt(0);
}

var s5:Autodetail= new Autodetail ();
     this.addChild(s5);

答案 2 :(得分:1)

为了完整起见,因为 Flash Player 11 ,您只需致电:

stage.removeChildren();

从舞台或任何DisplayObjectContainer中删除所有子项。