2012-02-12 99 views
0

我正在開發一個遊戲。我從圖庫中隨機附加了一個movieClip。我有一個名爲picLeft1picLeft2picLeft3等等的電影剪輯庫。它的工作正常,但我有問題刪除它。下面的代碼用於附加movieclip。這裏ranque是一個數組,其中存儲隨機生成的數字最多5個,HolderL是我想要附加movieClip的movieClip。而q是一個精靈。刪除多個影片剪輯

for (var i:int = 0; int<3; i++) {  
    que_mc.push("picLeft"+ranque[i]);  
    var que_mc_class:Class = getDefinitionByName(que_mc[i]) as Class; 
    q = new que_mc_class(); 
    this["HolderL"+(i+1)].addChild(q); 
} 

我去除影片剪輯代碼給出below.I要除去附着在HolderL的所有影片剪輯。但是這個代碼不起作用。

for(var j:int = 1; j<=3; j++) { 
    this["HolderL"+j].removeChild(q); 
} 

回答

1

這不是從你的代碼是什麼q清楚,但基本上如果你想從一個影片剪輯中刪除所有的孩子,最簡單的是遍歷所有的孩子和刪除它們一個接一個。例如:

for (var i:int = container.numChildren - 1; i >= 0; i--) { 
    container.removeChildAt(i); 
} 
+0

對於Flash Player 11有這種可能性太:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript /3/flash/display/DisplayObjectContainer.html#removeChildren%28%29 – AsTheWormTurns 2012-02-12 09:13:20

2

的Flash Player 11,您可以使用此:

for (var j:int = 1; j<=3; j++) { 
    var container : DisplayObjectContainer = this["HolderL"+j]; 
    container.removeChildren(); 
} 

早期版本沒有removeChildren()命令;你必須有兩個循環:一個循環遍歷容器的影片剪輯,一個遍歷顯示列表並刪除所有的孩子。

之前除去容器的所有兒童

最短途徑flash播放11:

while (container.numChildren > 0) container.removeChildAt(0);