2012-02-12 72 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);