(我正在使用VS2012 Ultimate与MonoGame制作Windows Phone 8游戏)
所以我有一个名为ImagePathStorer的类。 该类的目的是存储我的xnb背景文件中的字符串路径,而不是在我的LoadContent方法(在DrawableGameComponent中)中编写下面的代码:
_bg = Game.Content.Load<Texture2D>(@"Resources/Images/Backgrounds/Loading");
我可以写这个,以使其更清洁,更容易维护:
_bg = Game.Content.Load<Texture2D>(images.getBackgroundsPath(BackgroundName.Loading));
注意:
_bg是一个Texture2D对象。
BackgroundName是一个枚举,用于在我的项目中存储Backgrounds的名称。
这是ImagePathStorer类:
public class ImagePathStorer
{
private List<string> backgroundsPath;
public ImagePathStorer()
{
InitBackgroundsPath();
}
private void InitBackgroundsPath()
{
backgroundsPath = new List<string>();
backgroundsPath.Insert((int)BackgroundName.Battle, @"Resources/Images/Backgrounds/Battle");
backgroundsPath.Insert((int)BackgroundName.Loading, @"Resources/Images/Backgrounds/Loading");
backgroundsPath.Insert((int)BackgroundName.Option, @"Resources/Images/Backgrounds/Option");
backgroundsPath.Insert((int)BackgroundName.Start, @"Resources/Images/Backgrounds/Start");
backgroundsPath.Insert((int)BackgroundName.Tutorial, @"Resources/Images/Backgrounds/Tutorial");
}
}
但是当我编译它时,会出现一条错误消息:
_bg = Game.Content.Load<Texture2D>(images.getBackgroundsPath(BackgroundName.Loading));
....其中说:“ContentLoadException未被用户代码处理”“MonoGame.Framework.DLL中出现'Microsoft.Xna.Framework.Content.ContentLoadException'类型的异常,但未在用户代码中处理”< / p>
我试过这个:
_bg = Game.Content.Load<Texture2D>("@"+images.getBackgroundsPath(BackgroundName.Loading));
但结果没有什么不同。任何的想法?非常感谢。