我建議您簡單地生成一個文件,該文件是加載遊戲的所有資源的記錄。我已經停止依靠XNA內容項目模板,因爲它要求您非常慎重地考慮添加的每個資源,這對於快速開發遊戲原型來說不太有利。
當您的編輯器啓動時,它會讀取文件(包含您將需要的每個資源的路徑),並在每次打開新紋理時(從對話框中)追加到此文件,然後加載該紋理。這樣,下次您的項目運行時,您的遊戲將自動加載已添加的每個資源。您如何管理過大的資源緩存,以及何時裝載和卸載取決於您,但我已經體驗過這種方式,這樣做更有效。
如果你關心包裝,你也可以設置一些簡單的壓縮來填充你的紋理和聲音。
//This will just load all textures from a folder,
// and works well enough if you want to keep your game open/moddable.
foreach (string str in Directory.GetFiles("resource\\texture\\","*.png", SearchOption.AllDirectories))
{
int lastSlash = str.LastIndexOf('\\');
string textureName = ((lastSlash > -1) ? str.Substring(lastSlash + 1) : str).Replace(".png","");
Util.Log(LogManager.LogLevel.Debug, "Loading texture: " + str);
textures[textureName]= Texture2D.FromStream(context.GraphicsDevice, (Stream)File.OpenRead(str));
}
您正在考慮將圖像編譯爲'xnb'格式並將它們自動包含到您的項目中。這些是我在本網站上看到的兩個獨立的問題。 – user1306322