2014-03-19 128 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所有兒童。

相關問題