你好,我正在使用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
本身会从舞台中删除但敌方对象仍然存在。
答案 0 :(得分:0)
尝试使用'Enemy'周围的引号
_root["Enemy"].remove();
或如上所述
_root.Enemy.remove();