我目前正在嘗試從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的屬性,但這對我來說看起來很愚蠢,必須有更好的方法。 –