2014-03-19 129 views

回答

1

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

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

你应该能够对新事物添加到舞台上。有没有问题

new Autodetail() 

+0

我试着做一个while循环,然后我有这个错误错误#1009:无法访问空对象引用的属性或方法。当我继续时,它消除了一切。它可能来自我的其他代码,我会看看。但如果我使用,而不是一会儿,它将删除所有内容,但不会将自动尾部添加回去 – Benyaman

+0

我修复了它,我用类替换了舞台并且它工作了 – Benyaman

1

您正尝试在当前DisplayObject的上下文中添加s5变量。它不一定是你的舞台,我想这正是DisplayObject已被stage.removeChildAt(0)删除。 解决方案:使用while循环而不是舞台。在this对象变成舞台的小孩的时候打扫现在的小孩吧。 代码:

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

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

当然,您的Autodetail类应该将Sprite或DisplayObject扩展为使addChild方法调用成为可能。 – Codeluck

+0

感谢您的帮助,我修好了,有从另一个类文件,我想删除的孩子添加,我试图删除它的阶段,但后来我意识到我必须调用Global.classfilename而不是阶段 – Benyaman

1

为了完整起见,因为的Flash Player 11,你可以简单地调用:

stage.removeChildren(); 

删除从舞台或任何的DisplayObjectContainer所有儿童。

相关问题