for (int x = bulletBounds.Count - 1; x > -1; x-- )
{
for (int y = alienPosition.Count - 1; y > -1; y--)
{
if (bulletBounds[x].Intersects(alienBounds[y]))
{
alienPosition.RemoveAt(y);
bulletBounds.RemoveAt(x);
hit++;
}
}
}
このコードで私がやろうとしているのは、オブジェクトの両方のリストを調べて、それらが衝突するかどうかを確認することです。別の質問で、これを行う唯一の方法はリストを逆方向に反復することだとわかったので、そうしました。現在の問題は、弾丸がエイリアンと衝突すると、リスト内のそれより前のすべてのエイリアンも削除されることです. 画面に 6 体のエイリアンがいて、一番左のエイリアンを攻撃すると、その右にあるすべてのエイリアンが削除されます。これを修正するにはどうすればよいですか?