xna 4.0 и загрузка изображений не удалась - PullRequest
1 голос
/ 15 января 2012

Я пытаюсь загрузить изображения png в мою игру, но по какой-то причине не удается найти изображения.

Это мой экран заголовка, который пытается загрузить изображения:

public TitleScreen(ContentManager contentManager)
  {
     titleScreen = contentManager.Load<Texture2D>("gfx\\titleScreen");
     bgScreen = contentManager.Load<Texture2D>("gfx\\bgScreen");
     arialFont = contentManager.Load<SpriteFont>("Arial");
  }

Здесь я устанавливаю корневой каталог для содержимого:

Content.RootDirectory = "Content";

Когда моя программа нажимает на титульный экран, она не может найти изображение, однако путь к нему правильный, и изображения также устанавливаются в Content и копируются в выходной каталог.

Когда я пытаюсь его отладить, он говорит, что не может найти изображение "Content \ gfx \ titleScreen.xnb". По какой-то причине он пытается загрузить файл xnb, есть ли где-нибудь, где я могу его изменить, или мне нужно сделать что-то еще?

Ответы [ 3 ]

5 голосов
/ 27 ноября 2012

Дополнительно не забудьте перестроить решение после добавления нового ресурса в контентный проект.

5 голосов
/ 15 января 2012

В XNA Изображения представляют собой скомпилированные файлы .xnb, а не .png или .jpg

XNA 3.0 ||XNA 3.1
Вы добавляете свой Контент в папку Контента в своем проекте

XNA 4.0
У вас есть Проект контента, и вы добавляете Ссылку на контент в свой текущийproject

Также убедитесь, что вы установили свойства изображений: щелкните правой кнопкой мыши по элементу содержимого -> Свойства -> Установите следующее

  • Действие построения: Компиляция
  • Импортер / Процессор содержимого: Текстура - XNA Framework (Текстуры)
  • Импортер / Процессор содержимого: Описание шрифта Sprite - XNA Framework (Шрифты)
  • Не копировать
2 голосов
/ 15 января 2012

В XNA вы обычно загружаете обработанные файлы (xnb файлы). Вы добавите проект контента в свое решение и будете ссылаться на него в своем основном игровом проекте (обычно это настраивается при создании новой игры).

Вы добавляете туда свои файлы (активы). Когда ваша игра построена, создается контентный проект, который обрабатывает ваши ресурсы, генерируя файлы xnb, чего и хочет метод ContentManager.Load.

...