从数组加载级别,XNA 4,C#

时间:2012-02-25 05:02:25

标签: c# arrays xna 2d

嘿,我想知道如何编写一种从XNA 4中的2d数组加载和绘制2d级别的方法。

这是我到目前为止所拥有的。

我正在加载我的数组

        mapArray = new int[,]
        {
            {0, 0, 0, 0},
            {2, 0, 0, 2},
            {0, 0, 0, 0},
            {1, 1, 1, 1}
        };

然后我卡住了我似乎无法弄清楚如何绘制数组,我知道我需要使用for循环来检查数组,但这是我第一次使用2d数组。

有没有人可以详细解释我将如何绘制这个?

由于

-Josh

1 个答案:

答案 0 :(得分:1)

你可能可以使用这样的东西来检查每个插槽中的数字:(注意:这是未经测试的代码......但代码的骨架来自找到的教程{{3} }。)

using System;

class Program
{
    static void Main()
    {
        mapArray = new int[,]
        {
            {0, 0, 0, 0},
            {2, 0, 0, 2},
            {0, 0, 0, 0},
            {1, 1, 1, 1}
        };

        // Get upper bounds for the mapArray.
        int bound0 = mapArray.GetUpperBound(0);
        int bound1 = mapArray.GetUpperBound(1);

        // Use for-loops to iterate over the mapArray elements.
        for (int i=0; i<=bound0; i++)
        {
            for (int j=0; j<=bound1; j++)
            {
                int value = mapArray[i, j];
                Console.WriteLine(value);
            }
        }
    }
}

基本上,这段代码:

  • 初始化您的mapArray
  • 检查mapArray
  • 的两个维度的结尾(边界)
  • 循环遍历mapArray
  • 的第一维
  • 然后,在仍然循环第一维时,有第二个循环穿过mapArray
  • 的第二维
  • 在这两个循环的中间,找到了您的值:int value = mapArray[i, j];

here用于C#的2D数组循环。在C#中的数组上Here is a reference。希望这有点帮助!