Игра Windows Phone 7 XNA выходит при загрузке, сообщений об ошибках нет - PullRequest
1 голос
/ 22 июня 2011

Я пытаюсь заставить игру Windows Phone 7 XNA работать в эмуляторе, однако она просто завершает работу после вызова функции Game.Initialize.Единственный вывод, который он выдает:

Первое случайное исключение типа «System.NotSupportedException» произошло в Microsoft.Xna.Framework.Graphics.dll «taskhost.exe» (управляемый): загружен «Microsoft.Xna.работает для рабочего стола Windows.

ОК, после дальнейшего расследования я обнаружил, что ошибка возникает из-за инициализации spritebatch в Game.Initialize:

        base.Initialize();
        if (spriteBatch == null)
        {
            spriteBatch = new SpriteBatch(GraphicsDevice);
        }

Если я удаляю spriteBach = new... он работает нормально, однако когда я инициализирую его функции обновления / рисования, игра просто выйдет ...

Ответы [ 2 ]

2 голосов
/ 22 июня 2011

Вы не можете использовать GraphicsDevice (как, например, если SpriteBatch создает различные ресурсы графического устройства, которые ему требуются), пока не будет вызван LoadContent, поскольку графическое устройство не готово к этому времени.

См. Game.GraphicsDevice на MSDN :

Не открывайте это свойство, пока не будет вызван LoadContent.

0 голосов
/ 22 июня 2011

ОК, я выяснил, в чем проблема.Я в основном пытался нарисовать текстуру без мощности 2 при использовании обтекания текстурой, которая не нравится API-интерфейсу Windows Phone 7.Я не уверен, почему я не получил исключение для этого (в прошлый раз, когда я сделал что-то подобное, на самом деле я получил исключение).не инициализировал spritebatch Я также отслеживал вызовы отрисовки.

Во всяком случае, это была проблема.

...