为什么我的对象不能从舞台上删除? AS2

时间:2013-05-14 17:40:55

标签: flash actionscript-2 flash-cs3

你好,我正在使用Flash AS2制作一个简单的游戏,我不知道如何从舞台上删除一个对象。

我有一个名为“Enemy”的简单对象,其代码如下:

 onClipEvent(enterFrame) {  
             if (hitTest(_root.charBoy)) _root.life--;
             function remove()  { 
             this.removeMovieClip();    
             } 
  }

然后当我的“Bullet”对象像这样命中时,我尝试调用remove函数:

if (hitTest(_root.Enemy))
    {
        _root[Enemy].remove();
        this.removeMovieClip();
    }

但唯一发生的事情是只有Bullet对象被移除而且Enemy AI留在舞台上。

我还在声明函数时尝试了以下变体:

onClipEvent(load)
{
    function remove()
    {
        this.removeMovieClip();
    }
    remove();   
}
onClipEvent(enterFrame) {
    if (hitTest(_root.charBoy)) _root.life--;
}

onClipEvent(enterFrame) {
    if (hitTest(_root.charBoy)) _root.life--;
    function remove()
    {
        this.removeMovieClip();
    }
    remove();
}

哪个仍然做同样的事情。我也尝试了stage.removeChild(this)但它没有做任何事情。

请告诉我如何解决这个问题,我已经将敌人放在舞台上并进行简单的AI动作,而不是以编程方式复制它们。

Bullet击中某个物体时,如何从舞台上移除它们。

我的Bullet对象已经可以跟踪它们并hits它们,因此Bullet本身会从舞台中删除但敌方对象仍然存在。

1 个答案:

答案 0 :(得分:0)

尝试使用'Enemy'周围的引号

_root["Enemy"].remove();

或如上所述

_root.Enemy.remove();