0

(我正在使用 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 是一个枚举,用于在我的项目中存储背景的名称。

这是 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”类型的异常,但未在用户代码中处理”

我试过这个:

_bg = Game.Content.Load<Texture2D>("@"+images.getBackgroundsPath(BackgroundName.Loading));

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

4

0 回答 0