2012-05-01 2 views
0

Я как раз готов представить свою первую игру на рынок, но я столкнулся с этой проблемой.C# Файл содержимого XNA не найден после изменения действия сборки

Сегодня я понял, что мой XAP-файл казался очень маленьким. (350kb примерно) Я читал сегодня, что весь мой контент (текстуры, звуки, шрифты) должен иметь свои действия по сборке, настроенные на «контент», а не «компилировать», к которым они были предварительно установлены. Я установил их все в настройку «content», и теперь я получаю «Ошибка загрузки» имени файла. «Файл не найден».

Я ничего не менял, кроме действия по сборке, и я подтвердил, что все файлы не найдены. Есть ли что-то, что мне нужно изменить в своих инструкциях загрузки после изменения действия сборки? В настоящее время мои инструкции загрузки выглядят так.

font = content.Load<SpriteFont>("menufont");

или

ShipTexture = ScreenManager.Game.Content.Load<Texture2D>("Jet");

FYI Я построил свою игру с нуля, используя образец GameStateManagement, в случае, если это имеет значение.

Пожалуйста, помогите. Благодарю.

ответ

3

Я не уверен, где вы это читаете, но это неправда.

Объект ContentManager, как Game.Content, запрограммирован для поиска xnb файлов. Они должны быть скомпилированы из исходных файлов, таких как .png, .wav и т. Д. Установка на Content копирует исходные файлы непосредственно в XAP, и вы должны открыть его с помощью TitleContainer.OpenStream, чтобы использовать его вместо обычного Content.Load , потому что это не будет файл xnb.

Если ваш XAP-файл любопытно мал, вероятно, из-за того, что XAP используют сжатие ZIP на весь пакет. Проверьте папку «Содержимое» в папке bin \ Debug или bin \ Release, чтобы увидеть полный размер, несжатый.

+0

благодарит за информацию! очень оценили. – Hardycore

1

Вы хотите установить его в Compile, а не Content. Build Action: Compile означает, что он будет обрабатываться как содержимое XNA в файл .xnb, который затем доступен из вызова ContentManager.Load<T>. Build Action: Content - это что-то еще, что не приводит к компиляции вашего контента. Он либо просто скопирован прямо, либо проигнорирован, но в любом случае этот актив не будет доступен с ContentManager.

+0

так что если он настроен на компиляцию, это нормально при отправке моего XAP-файла на рынок? как я уже говорил, XAP казался слишком маленьким. – Hardycore

+0

благодарит за информацию! – Hardycore

Смежные вопросы