for循环中的索引超出范围

引擎开发

因此,除了游戏引擎之外,我还在研究游戏,并且我有一个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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TOP 榜单

热门标签

归档