如何在我的Windows手机游戏中加入我的2d地图?

时间:2012-01-21 11:31:56

标签: windows-phone-7 xna 2d

我正在制作一个愚蠢的2D游戏,但是在描述地图应该是什么样子的外部文件上有点挣扎。

我目前有map001.txt,看起来像这样

00000000000000000000
01111111111111111110
01111111111111111110
01111111111111111110
01111111111111111110
01111111111111111110
01111111111111111110
00000000000000000000
00000000000000000000
00000000000000000000

使用TextReader不会发生这种情况,它似乎无法找到文件:(

1 个答案:

答案 0 :(得分:1)

Windows Phone 7使用Isolated Storage,这与其他系统不同,例如Windows 7.

我假设您正在使用C#,并且您已预定义了地图。你有两个选择

  • 在项目中包含文件
  • 将此地图字符串写入代码

还有更多选项 - 比如使用数据库 - 但这两个选项简单而且足够好。如果我是你,我会选择第二个。地图看起来很简单,因此加载时间和使用内存应该不是问题。

最好的方法是定义一个帮助器(如果你感兴趣我为什么这样做static readonly这里有一个解释)

public static class MapHelper
{
    public static readonly string Map = @"
                                          00000000000000000000
                                          01111111111111111110
                                          01111111111111111110
                                          01111111111111111110
                                          01111111111111111110
                                          01111111111111111110
                                          01111111111111111110
                                          00000000000000000000
                                          00000000000000000000
                                          00000000000000000000
                                          ";

}

现在,如果您想将地图提取为线条,请点击此处

  var lines = Map.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);

获取宽度和高度使用

        width = lines.Select(x => x.Length).Max();
        height = lines.Length;