从屏幕AS3 Flash中删除MovieClip

时间:2014-04-08 02:13:15

标签: actionscript-3 flash

所以我制作了一系列火球并将它们添加到屏幕上:

        for (var i :Number = 0; i < fireballs; i++)
        {
            var mcFireball :fireball = array[i];
            moveEnemy(mcFireball);
            //array[i].moveEnemy();
        }

当我想重新启动时,我无法弄清楚如何从框架中移除它们以及如何制作它,以便如果我遇到它们,我就输了。我试过removeChild(),但我可能做错了,我不确定。我是否需要创建一个将使用该数组的新函数,然后以这种方式删除它们?另外我如何让它们被探测到?“

2 个答案:

答案 0 :(得分:1)

我通常的方法是将这些对象存储在数组(或向量)中,然后通过数组循环并删除不需要的对象。

另外,如果你将addChild()添加到其他对象,如下所示:

myObject.addChild(myMC);

您需要从该对象调用removeChild(),如下所示:

myObject.removeChild(myMC);

如果您不了解父母,您当然可以使用以下构造:

if (myMC.parent)
myMC.parent.removeChild(myMC);

但它被认为是糟糕的风格,如果你希望你的代码可以维护,你就不应该使用hacks;)

答案 1 :(得分:1)

Theres是一个很棒的教程系列,由用户提供:PointClickWin

https://www.youtube.com/playlist?list=PL5A9B8F405B31823A 该系列(在提供的链接中)涵盖了您正在尝试做的事情!正如之前的其他人所说:“为什么重新发明轮子?”。这些教程非常方便用于基础和重新设计代码,我发现它们非常容易理解并且相当深入! 祝你好运,编码愉快!