在我制作的游戏中,我有一个通过 XML 文件创建的关卡。该级别是使用嵌套的 for 循环绘制的。我正在尝试制作另一个嵌套的 for 循环来获取每个图块的位置并将其分配给锯齿状数组。我想这样做,这样我就可以对每个图块进行碰撞检测。
下面示例级别图片中的每个图块都是 20x20 像素,具有 30x30 个图块,屏幕分辨率为 600x600。这个关卡是用免费软件 Realm Factory 制作的,它缺乏文档,也没有真正的支持……但是,currentLevel.Rows 在这里等于 30,currentLevel.Columns 也一样。
以下是我到目前为止尝试创建的内容,但并不多。无论我怎么尝试,我的大脑都拒绝理解锯齿状数组。我什至无法弄清楚如何创建它们!
int a = 0;
int b = 0;
int x = 0;
int y = 0;
int[,] size = new int[currentLevel.Rows, currentLevel.Columns]'
int[,] pos = new int[600,600];
int[] tiles = new int[600];
for (a = 0; a < 600; a += 20, x++)
{
for (b = 0; b < 600; b += 20, y++)
{
size[x][y] = ;
}
}
我要分配给tiles[x,y] 的是每个tile 的X 和Y 位置,所以我可以为每个tile 添加碰撞。
非常感谢任何可以帮助我的人。我喜欢编程,但我的数学和视觉空间技能不太好……