我目前正在尝试从Tiled(平铺地图编辑器)地图文件中将游戏对象加载到我在C#中制作的游戏引擎中。我使用TiledSharp(链接到GitHub的here)。它使用字典来记录每一个单独的瓷砖(或“游戏对象”),我试图加载性能。但由于某些原因,我得到一个错误,当我遍历性,同时我也得到一个错误,如果我检查它是否是空C#字典 - 给定的关键字不存在于字典中
下面是我使用的代码片段:
for (int l = 0; l < tmxMap.Tilesets[k].Tiles.Count; l++)
// This line throws an error
if (tmxMap.Tilesets[k].Tiles[l].Properties != null)
// and if I remove the above line, this line throws an error
for (int m = 0; m < tmxMap.Tilesets[k].Tiles[l].Properties.Count; m++)
的错误我收到说给定的关键是不存在的字典。但是...我甚至没有检查钥匙。
我错过了什么吗?
任何帮助,将不胜感激。
_“我甚至没有检查钥匙” - - 但你是。我猜'瓷砖[l]'抛出。为什么这取决于你如何声明和初始化字典。可能你只是在寻找'foreach(var tile in tmxMap.Tilesets [k] .Tiles)'? – CodeCaster
从那时起,我可以通过在tile循环中执行另一个foreach循环来访问每个tile的属性,但这对我来说看起来很愚蠢,必须有更好的方法。 –