こんにちは、弾丸を発射する銃でシステムを作成しています。
update 関数は次のように処理されます。
var b:Bullet;
var l:uint = bulletList.length;
var i:uint;
for (i = 0; i < l; i++) {
b = bulletList[i];
b.sprite.x += b.vx;
b.sprite.y += b.vy;
if (b.sprite.x > 1200 || b.sprite.x < -100 || b.sprite.y < -1000) {
deleteBullet(b);
bulletList.splice(i,1);
}
}
public function deleteBullet(b:Bullet) {
b.sprite = null;
b = null;
}
弾丸を撃って端から外れるとエラーが発生し、新しい弾丸が作成されることもありますが、その弾丸にはまったく動きがありません。これは私が得るエラーです:
RangeError: エラー #1125: インデックス 1 は範囲 1 の外にあります。