通常、イメージ ファイル (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);
}
}
}