(Я использую VS2012 Ultimate, чтобы сделать игру для Windows Phone 8 с MonoGame)
Итак, у меня есть класс 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 не было обработано пользовательским кодом» «Исключение типа« Microsoft.Xna.Framework.Content.ContentLoadException »произошло в MonoGame.Framework.DLL, но не было обработано в пользовательском коде»
Вместо этого я пробовал это:
_bg = Game.Content.Load<Texture2D>("@"+images.getBackgroundsPath(BackgroundName.Loading));
но результаты ничем не отличаются. Есть идеи? Большое спасибо.