删除孩子投掷错误

时间:2013-03-16 18:15:05

标签: actionscript-3

当我想删除Child时出现错误提供的DisplayObject必须是调用者的子级。我尝试了很多不同的方法,我在这里找到了stackoverflow,但都没有。

if(player.hitTestObject(activePowerup as DisplayObject)
{
    activePowerup.onPlayerPick(player);
    this.parent.removeChild(activePowerup as DisplayObject);
    activePowerups.splice(activePowerup, 1);
}

我不知道问题是什么,但我希望你们可以帮助我。

1 个答案:

答案 0 :(得分:1)

如果您的activePowerup绝对是this.parent的孩子,那么我怀疑问题就在于您的拼接。假设activePowerupsArraysplice()无法正常工作(see the docs here)。您需要提供splice() activePowerup索引

activePowerups.splice(activePowerups.indexOf(activePowerup), 1);

否则,您可能会拼错错误的启动,然后在下次运行此代码时尝试删除同一个孩子两次。