我试图让我的游戏在主游戏类之外加载已编译的 xnb 纹理,就像我通常对我的图像文件(未编译为 xnb 格式)所做的那样,但它不起作用。
Texture2D.FromStream
返回“意外错误”,并且
using (var g = new Game1())
{
Texture2D t2d = g.Content.Load<Texture2D>(file);
}
表示该文件不存在,而File.Exists
在它旁边显示它确实存在。
我无法将这些 xnb 文件添加到我的项目中,因为我不会在编译时拥有它们。我该如何解决这个问题?
更多代码:
public void LoadXNA(Microsoft.Xna.Framework.Content.ContentManager cmgr, string path)
{
string xnaTexturesPath = path.Substring(0, path.LastIndexOf("\\")) + "\\textures xna";
if (Directory.Exists(xnaTexturesPath))
{
var files = Directory.GetFiles(xnaTexturesPath, "*.xnb");
foreach(var file in files)
{
string filename = Path.GetFileNameWithoutExtension(file);
string ext = Path.GetExtension(file);
string pathNoext = file.Replace(ext, "");
var t2d = cmgr.Load < Texture2D > (pathNoext);
}
}
}