从存储的xnb文件路径调用字符串时,MonoGame中的Microsoft.Xna.Framework.Content.ContentLoadException

时间:2013-04-23 17:21:55

标签: xna texture2d monogame

(我正在使用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));

但结果没有什么不同。任何的想法?非常感谢。

0 个答案:

没有答案