对于特定对象,我偶尔会收到此错误。出于某种原因,当我生成 2 个这个对象而不是一个时,这个问题似乎就开始了。我基本上有敌人掉落硬币,一个敌人掉落 2 个。当我同时捡起它们时,我开始收到此错误。
public function removeCoin(){
removeEventListener(Event.ENTER_FRAME, moveCoin);
if(this.parent){
this.parent.removeChild(this);
}
parentMC.level.spawnedCoins.splice(this, 1);
}
这是当玩家和硬币发生碰撞时碰撞检查调用的函数。当我从这个功能一次拿起两个硬币时,问题通常开始。
var dropCoin:Number = Math.random() * 100;
if(dropCoin > 40){
var newCoin1:coin = new coin(parentMC);
var newCoin2:coin = new coin(parentMC);
newCoin1.x = x+7;
newCoin1.y = y;
parentMC.level.levelObjects.addChild(newCoin1);
parentMC.level.spawnedCoins.push(newCoin1);
newCoin2.x = x-7;
newCoin2.y = y;
parentMC.level.levelObjects.addChild(newCoin2);
parentMC.level.spawnedCoins.push(newCoin2);
}
编辑了代码。