因此,除了游戏引擎之外,我还在研究游戏,并且我有一个for循环来检测与面板列表中所有对象的碰撞
这是代码:
for (int x = 1; x <= 2; x++)
{
if (player.obj.Bounds.IntersectsWith(walls[x].Bounds))
{
MessageBox.Show("COLLIDING");
}
}
当前,只有两个对象添加到列表中,称为walls。每次我运行时,它告诉我Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
我不知道该怎么办,我是否将if语句设置为错误?
我只是尝试将它从for循环中取出,并将x替换为0,当我触摸该对象时,它说我正在碰撞,所以我知道我没有将if语句设置为错误。
您可能知道也可能不知道,数组在索引中从0开始,因此您的数组应该像这样。
for (int x = 0; x < 2; x++)
{
if (player.obj.Bounds.IntersectsWith(walls[x].Bounds))
{
MessageBox.Show("COLLIDING");
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句