Actionscript 3 AS3-被其他物体击中后移除该物体

Actionscript 3 AS3-被其他物体击中后移除该物体,actionscript-3,flash-cs4,Actionscript 3,Flash Cs4,我正在创建一个简单的游戏,当物体击中硬币时,分数将增加,硬币将消失 我有这段代码,food1是命中后将消失的代码,scoreOutput是动态文本的实例名 if(player.hitTestObject(food1)){ removeChild(food1); score += 10; scoreOutput.text = String(score); } 我犯了这个错误 ArgumentError: Error #2025: The supplied DisplayO

我正在创建一个简单的游戏,当物体击中硬币时,分数将增加,硬币将消失

我有这段代码,food1是命中后将消失的代码,scoreOutput是动态文本的实例名

if(player.hitTestObject(food1)){
    removeChild(food1);
    score += 10;
    scoreOutput.text = String(score);
}
我犯了这个错误

ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display::DisplayObjectContainer/removeChild()
at game_fla::MainTimeline/moveObject()
可能是因为我使用了删除子对象,但我真的不知道如何从舞台上删除该对象,因为我不熟悉actionscripting


有没有关于我怎么做的建议?提前谢谢。

我想,你是在阻止多个呼叫。任何理由

所以,改变这个代码

if(player.hitTestObject(food1))
{
    if(stage.contains(food1))
        removeChild(food1);

    score += 10;
    scoreOutput.text = String(score);
}

查看完整代码。

food1添加到哪里?在舞台上?对吗?试试:food1.parent.removeChild(food1);您尝试删除的元素不是»this«的子元素,在本例中为时间线itself@bitmapdata.com对我已经把它放在比赛之前了begins@philipp在我这样说之后,玩家在命中对象后没有移动,错误是“无法访问空对象引用的属性或方法”。@Katherine尝试使用文档类,并使用as3类来处理游戏中显示的对象。您可以将自定义类链接到库中的符号,然后在库中实现delete()remove()逻辑,并跟踪显示列表中的实际元素。此外,您可以使用类型检查来确定单击是否发生在您感兴趣的目标上,以及使开发更容易的更多内容。谢谢,在我将其余代码括在if(stage.contains(food1))中的大括号中之后,此代码工作正常。。。。谢谢你:)