【发布时间】:2013-05-14 05:06:12
【问题描述】:
我正在尝试在 XNA 中编写一个漂亮的内容加载器,以避免必须单独加载每个资产。但是,我无法描述目录位置,因为 File 操作的默认目录是 exe 的位置,但 XNA 的 Content.Load 使用 Content 文件夹的默认目录。
foreach (string subD in Directory.GetDirectories("..\\..\\..\\..\\Happy WorkerContent\\gfx\\", "*.*", SearchOption.AllDirectories))
{
foreach (string s in Directory.GetFiles(subD))
{
string file = Path.GetFileNameWithoutExtension(s);
if (Enum.IsDefined(typeof(Tex), file))
{
Console.WriteLine(subD);
Console.WriteLine(file);
GXDict.Add(Path.GetFileNameWithoutExtension(s), GV.C_Game1.Content.Load<Texture2D>(subD + "\\" + file));
}
}
}
我的错误是因为 subD 是,例如,“........\Happy WorkerContent\gfx\level entities\terrains”,但 Content.Load 需要“gfx\level entities\terrains”。
我可以执行 subD.Substring(32) 之类的操作,但这看起来很混乱,尤其是如果我稍后重命名任何文件夹或其他任何内容(并且在已发布的版本中可能无法使用?)。有没有什么好办法说“我只想要”Happy WorkerContent”目录之后的文件部分?
【问题讨论】: