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个外星人,而且我击中了最左边的那个,那么右边的每个外星人都会被删除!我该如何解决?通过for循环冲突
您是否尝试调试代码?只需在'if'语句中放置一个断点即可。 – 2013-04-10 04:29:06