特定のオブジェクトに対して、このエラーが時々発生します。何らかの理由で、この問題は、このオブジェクトを 1 つではなく 2 つスポーンしたときに開始されるようです。基本的に、コインを落とす敵がいて、1 人の敵が 2 をドロップします。それらを同時に拾うと、このエラーが発生し始めます。
public function removeCoin(){
removeEventListener(Event.ENTER_FRAME, moveCoin);
if(this.parent){
this.parent.removeChild(this);
}
parentMC.level.spawnedCoins.splice(this, 1);
}
これは、プレイヤーとコインが衝突したときに、衝突チェックによって呼び出される関数です。この問題は通常、この機能で一度に 2 枚のコインを拾ったときに始まります。
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);
}
コードを編集しました。