我对AS3相当陌生。无论如何,我尝试在单击时删除动态创建的子影片剪辑。当点击一个污垢块时,这是一个“世界”的子影片剪辑,我想将其删除。
我尝试了各种使用 removeChild 删除它的方法。我还尝试将函数移动到创建影片剪辑的 for 循环的内部/外部。
var blockCount:Number = 0;
var blockArray:Array = [];
var world:MovieClip = new World();
world.x = 50;
world.y = 50;
world.name = "world";
addChild(world);
for(var i:Number=1;i<=100;i++){
blockCount++;
var tempGrassBlock:MovieClip = new GrassBlock();
tempGrassBlock.x = i*16;
tempGrassBlock.y = 256;
tempGrassBlock.name = "b"+blockCount;
world.addChild(tempGrassBlock);
tempGrassBlock.addEventListener(MouseEvent.CLICK, removeBlock);
function removeBlock(event:Event){
world.removeChild(getChildByName(event.target.name));
}
}
谢谢您的帮助。