Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 注册命中检测时如何从后台移除对象_Actionscript 3_Flash - Fatal编程技术网

Actionscript 3 注册命中检测时如何从后台移除对象

Actionscript 3 注册命中检测时如何从后台移除对象,actionscript-3,flash,Actionscript 3,Flash,我试图删除屏幕上的对象时,我的命中检测已注册。下面是我最好的尝试,但没有成功 stage.addEventListener(Event.ENTER_FRAME, detectCollision2); function detectCollision2(event:Event) { if (character.hitTestObject(stick)) { stick1.visible = false; stickVisible = false; health--;

我试图删除屏幕上的对象时,我的命中检测已注册。下面是我最好的尝试,但没有成功

 stage.addEventListener(Event.ENTER_FRAME, detectCollision2);
 function detectCollision2(event:Event)
 {
if (character.hitTestObject(stick))
{
    stick1.visible = false;
    stickVisible = false;
    health--;
    removeChild(stick);
}

我试图做的是添加一个简单的碰撞检测,当我的角色碰到木棍实例时,生命值下降1。在我的生命值下降1后,我想移除对象棒,因为发生的是角色仍然在棒上,生命值持续快速下降。我只想让运行状况降低1并停止,我需要帮助,我不知道该怎么做。

在移除stick后,可以将stick变量设置为null(stick=null)以删除对该对象的所有引用。“stick1”和“stickVisible”变量似乎超出了需求,因此在这个阶段(没有双关语),我建议删除这些行。如果出现错误,可能是因为Flash不知道这些变量是什么。
此外,在检查碰撞之前,您可能需要检查“斗杆”是否存在。因此,您的detectCollision2函数应该如下所示:

function detectCollision2(event:Event):void {
    if (stick) {
        if (character.hitTestObject(stick)) {
            health--;
            removeChild(stick);
            stick = null;
        }
    }
}

谢谢帮助很大,我是actionscript 3.0的新手,所以犯了很多错误:)