C# 从阵列生成平铺贴图

C# 从阵列生成平铺贴图,c#,enums,tile,C#,Enums,Tile,我一直在考虑尝试创建一个RPG游戏,一个简单的游戏,包括移动、拾取物品和开门 我一直在考虑瓷砖贴图引擎,但我找不到任何有效的工具:/ 基本上,我试图实现的是我有一个枚举,比如: public enum tileSort{泥土、草、石头、空} 当引擎在数组中运行时,数组将有0、1等,我考虑的是一个switch语句,类似于: 开关(tileSort) { 案例“0”:tileList.Add(Content.Load(“Tiles/grass”)) } 问题是,我不知道如何实现这一点,我所能创

我一直在考虑尝试创建一个RPG游戏,一个简单的游戏,包括移动、拾取物品和开门

我一直在考虑瓷砖贴图引擎,但我找不到任何有效的工具:/

基本上,我试图实现的是我有一个
枚举
,比如:

public enum tileSort{泥土、草、石头、空}
当引擎在数组中运行时,数组将有0、1等,我考虑的是一个switch语句,类似于:

开关(tileSort)
{ 
案例“0”:tileList.Add(Content.Load(“Tiles/grass”))
}
问题是,我不知道如何实现这一点,我所能创建的只是一个引擎,它运行并根据您首先加载到游戏中的内容生成

我知道这让人困惑,因为我不善于解释自己


提前感谢。

您可以使用一些工具来帮助您:

我相信你能找到很多其他的

关于您编写的代码片段,您不想调用

Content.Load<Texture2D>("Tiles/grass")

本教程将详细介绍您想要了解的内容:

您走上了正确的道路。接下来,您可能想做的是找出如何将磁贴贴图数据加载/保存到磁盘,而不是在代码中指定贴图。也许可以使用StreamReader?现在我唯一的问题是如何将代码组合在一起:/您可能会对此感兴趣:您可以创建/编辑/保存数据格式的地图,然后将其加载到游戏中。(关于如何加载的示例很容易在网上找到)谢谢,但是我找不到.tmx加载程序lib的下载。D:谢谢,但是我如何使用碰撞来制作某个磁贴,或者如何使它在事件中可移动??
var tileList = new List<Texture2D>();
string[] tiles = { "dirt", "grass", "stone", "empty" };

foreach (var s in tiles) {
    tileList.Add(Content.Load<Texture2D>("Tiles/" + s));
}
int[,] tileMap = {{1, 2, 0}, {0, 1, 2}, {3, 3, 1},};

for (int i = 0; i < 3; ++i)
    for (int j = 0; j < 3; ++j)
        spriteBatch.Draw(tileList[tileMap[i, j]], new Vector2D(50*i, 50*j), Color.White);
        // Assuming the tiles are 50x50 pixels