我使用以下代码创建了多个MC:
function addCharacter() {
var newCharacter:characterBob = new characterBob();
this.addChild(newCharacter);
newCharacter.x=1000 - (50*counter);
newCharacter.y=50;
counter = counter + 1
}
现在我想从舞台上删除一堆。有没有办法在AS3中做到这一点?
提前感谢任何建议。
答案 0 :(得分:2)
您可以尝试以下内容:
for each (var o:DisplayObject in this) {
if (o is characterBob) {
removeChild(o);
}
}
也许更好的选择是将每个“characterBob”创建成一个数组。然后遍历数组并删除每个对象。
var bobs:Array = new Array();
function addCharacter() {
var newCharacter:characterBob = new characterBob();
this.addChild(newCharacter);
newCharacter.x=1000 - (50*counter);
newCharacter.y=50;
counter = counter + 1;
bobs.push(newCharacter);
}
function removeAllBobs():void {
while (bobs.length > 0) {
removeChild(bobs.shift());
}
}
答案 1 :(得分:0)
while(myDisplayObjectContainer.numChildren > 0){
myDisplayObjectContainer.removeChildAt(0);
}
这将删除指定的DisplayObjectContainer(Sprite或Movieclip)的所有子项