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

本文关键字:XNA 一个 数组 加载 | 更新日期: 2023-09-27 18:25:57

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

这是我迄今为止所拥有的。

我正在像这个一样加载我的阵列

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

然后我陷入了困境,我似乎不知道如何绘制数组,我知道我需要使用for循环来检查数组,但这是我第一次使用2d数组。

有人能详细解释我将如何画这个吗?

感谢

-Josh

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

您可以使用类似的方法来检查每个插槽中的数字:(注意:这是未经测试的代码……但代码的骨架来自此处的教程。)

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];

以下是C#的2D数组循环的参考。这里引用了C#中的数组。希望这能有所帮助!