Pull to refresh

Проблемы в работе с XNA 4 CTP

Reading time3 min
Views1.3K

Итак, начнем с того что я хотел написать продолжение своей предыдущей статьи о разработке игр для Windows Phone 7 на XNA, но у меня ничего не получилось. Почему? Сейчас расскажу.
Начальные условия: недавноустановленная Windows 7 Professional + минимум необходимого софта (браузер, антивирус, аська). Ну и плюс Visual Studio 2010 Ultimate с русской локализацией.

Сначала я предпринял попытку установить Windows Phone 7 Developer Tools, но мастер установки порадовал меня малоинформативным окном:



Чтение логов не дало никакой полезной информации, и я просто-напросто удалил весь софт каким-либо образом связанный с Silverlight:



Сказано-сделано и после проведенных манипуляций тулзы соизволили установиться и стали доступны в Visual Studio:



Намечаемое продолжение статьи должно было рассказывать о поддержке кириллицы, поэтому я решил вначале написать о шрифтах, которые как предполагает Microsoft разработчики игр могут использовать в своих приложениях. В комплекте с XNA Game Studio идут следующие шрифты:
  • Kootenay
  • Lindsey
  • Miramonte
  • Pericles
  • Pescadero

Если использовать их для отображения латиницы, то все просто класс — шрифты красивые и читаемые, но если мы хотим написать такими шрифтами что-то на кириллице, то результат просто ужасен. На следующем скриншоте я сравнил три шрифта из комплекта поставки и стандартный шрифт Arial:



Потом я проверил как XNA работает с ресурсами, в названии которых присутствует кириллица. Добавив к ресурсам файл Лена.jpg и изменив код метода Draw, отвечающего за рендеринг я запустил проект на исполнение. Как оказалось все работает прекрасно)



«Ну и отлично!» — подумал я и сконвертировал проект под Windows Phone 7.



Но не тут-то было! Visual Studio отказывалась компилировать полученный проект ссылаясь на нехватку вначале одного:



А потом и другого файла манифестов:



Решением оказалось копирование аналогичных файлов из другого проекта под Windows Phone 7. Обратите внимание: в WindowsPhoneManifest.xml в поле ProductID нужно подставить GUID вашего приложения из AssemblyInfo.cs:



Однако эмулятор после успешной компиляции и запуска проекта не захотел показывать ничего, кроме черного экрана. Я подумал что все дело в Лене и оказался прав: после закомментирования Лены эмулятор сменил черный экран на синий:



«Но где же текст?» — спросите вы. А я вам отвечу — «Не знаю». Вначале я подумал что неправильно сконвертировал проект. Чтобы проверить эту догадку я запустил установленную вместе с тулзами Microsoft Visual Studio 2010 Express for Windows Phone и создал там новый проект игры для Windows Phone 7. Добавив несколько строк кода, отвечающих за вывод строки «Test» и шрифт Arial я нажал Ctrl+F5 и получил все то-же отсутствие текста:



Тут я подумал о корректности выполненной установки тулзов и загрузил в студию проект из прошлой статьи. Как ни странно он тоже ограничился показом черного экрана:



У меня есть несколько возможных версий такого поведения эмулятора:
  • Какая-то странная несовместимость средств разработки и локализованной студии
  • Кривая установка (наиболее вероятный вариант)
  • Ошибка в дистрибутиве: SDK устанавливается из веб-инсталлера, возможно при скачке что-то пошло не так
  • Комбинация вышеуказанного

К нашему счастью это всего лишь CTP, уверен, что к релизу подавляющее большинство багов будет пофиксено. Да и следует заметить, что сама по себе конфигурация из локализованной студии и XNA SDK является нестандартной, редко кто из гейм-девелоперов использует локализованную среду. Статья, которую я написал, получилась слегка сумбурной, но в ней я попытался максимально точно описать проблемы с которыми вы можете столкнуться во время разработки своих проектов.

И как-всегда что-почитать:

P.S. Господа минусующие! Прошу вас, напишите комментарий что вам не понравилось в статье и как ее можно улучшить.
Tags:
Hubs:
+21
Comments14

Articles