我正在尝试在我的点击检测已注册时删除屏幕上的对象。下面是我最好的尝试,但它没有工作。
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并停止,我需要帮助,请不要知道如何解决这个问题。
答案 0 :(得分:0)
删除theChild the 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;
}
}
}