0

我正在尝试获取游戏级别单元格的位置并将它们映射到二维数组。我想这样做,这样我就可以使每个地面单元(而不是背景单元)与我的玩家角色发生碰撞。

以下是某人为我创建的当前代码:

        int tileSize = 20;
        int screenSizeInTiles = 30;

        // initializing multidimensional array of points
        var tilePositions = new System.Drawing.Point[screenSizeInTiles, screenSizeInTiles];

        for (int x = 0; x < screenSizeInTiles; x++)
        {
            for (int y = 0; y < screenSizeInTiles; y++)
            {
                tilePositions[x, y] = new System.Drawing.Point(x * tileSize, y * tileSize);

            }
        }

可以在这里找到:如何使用锯齿状数组来记录这些图块的 x 和 y 轴? 以及对我正在尝试做的事情的更好描述。

所以,当我运行这段代码时,我在 tilePositions 中得到一个空数组。嗯,x 和 y 值都在那里,但值都是 0。这些值应该是单元格的位置数据。

下面是 tilesPosition 数组的样子:

http://imgur.com/VYyxp

不过,我仍在研究碰撞代码……我需要先让它工作,然后才能弄清楚那部分。

非常感谢大家,你们帮了大忙!我仍然是一个初学者,但我正在夜以继日地工作以使自己成为一个更好的程序员。

4

1 回答 1

0

如果你这样做了

        int tileSize = 20;
        int screenSizeInTiles = 30;

        // initializing jagged array of points
        var tilePositions = new Point[screenSizeInTiles][screenSizeInTiles];

        for (int x = 0; x < screenSizeInTiles; x++)
        {
            for (int y = 0; y < screenSizeInTiles; y++)
            {
                tilePositions[x][y] = new Point(x * tileSize, y * tileSize);
            }
        }

它会是锯齿状的(数组数组。)

于 2012-12-13T11:54:12.063 回答