0

当我想删除 Child 时出现错误 The provided DisplayObject must be a child of the caller. 我尝试了很多我在stackoverflow上找到的不同方法,但都没有奏效。

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

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

4

1 回答 1

1

如果您activePowerup绝对是 的孩子this.parent,那么我怀疑问题出在您的接头上。假设activePowerupsArray,splice()不能按预期工作(请参阅此处的文档)。您需要给出splice()索引activePowerup

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

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

于 2013-03-16T19:43:49.987 回答