Monogame говорит, что у меня нет файла XNB, хотя он есть.C#

Место общения программистов C#
Ответить
Anonymous
 Monogame говорит, что у меня нет файла XNB, хотя он есть.

Сообщение Anonymous »

У меня есть функция загрузки списка изображений из папки с помощью функции MonoGame Content.Load (). код функции следующий:

Код: Выделить всё

void loadImageList(ref Texture2D[] spriteList, string folder)
{
for (int i = 0; i < spriteList.Length; i++)
{
string fileName = folder + "/" + (i+1).ToString();
spriteList[i] = Content.Load(fileName);
}
}
Я называю это так:

Код: Выделить всё

Texture2D[] winOutline = new Texture2D[12];
loadImageList(ref winOutline, "winOutline");
Для этого папка должна быть настроена следующим образом:

Код: Выделить всё

Content
winOutline
1.png
2.png
3.png
4.png
5.png
6.png
7.png
8.png
9.png
10.png
11.png
12.png
Обычно это работает нормально. В своей игре я вызываю эту функцию несколько раз для нескольких разных листов спрайтов разной длины. Внезапно, когда я добавил 12-е изображение в папку winOutline, оно перестало работать и выдало следующее сообщение об ошибке:

Код: Выделить всё

Microsoft.Xna.Framework.Content.ContentLoadException: 'Asset does not appear to be a valid XNB file. Did you process your content for Windows?'
Я проверил папку bin, которую MonoGame автоматически создает, и обнаружил, что в winOutline/12.png действительно есть файл XNB. Во время отладки я также следил за функцией loadImageList и увидел следующее: для каждого значения i от 0 до 10 spriteList является правильным файлом. Когда i = 11, файл должен быть {winOutline/12}, но вместо этого он имеет значение NULL. Переменная fileName имеет правильный формат "winOutline/12".
Я несколько раз пытался перестроить файл в редакторе содержимого MGCB, но ничего не дало.
У меня нет представления о том, что происходит.

Подробнее здесь: https://stackoverflow.com/questions/791 ... -when-i-do
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»