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 个外星人,而我点击了最左边的那个,则它右侧的每个外星人都会被删除!我该如何解决?