День первый. Создаем первый XNA-проект

Вступление

Платформа XNA — это программный интерфейс (API) для удобного создания игр. Однако, это не визуальное средство создания игр путем перетаскивания элементов, как мы привыкли это делать в Windows Forms или Silverlight-проектах. Платформа XNA проста в использовании, но для разработки игр с ее помощью необходимы определенные технические знания.

XNA не является игровой системой и не включает физические процессы, средства обнаружения столкновений и другие возможности. Это платформа разработки игр, где вы сами должны описать поведение игры от начала и до конца.

Создание нового проекта

Запустите Visual Studio 2010 Express For Windows Phone. В меню File выберите пункт New Project. У вас откроется диалоговое окно New Project.

Далее слева выберите пункт XNA Game Studio 4.0. Для данного типа проекта доступны несколько шаблонов: Windows Phone Game (4.0), Windows Phone Game Library (4.0), и так далее. Для нашего учебного примера выберем первый вариант.

Спустя несколько секунд Visual Studio создаст новый проект.

Рассмотрим решение и его содержание. Возможно, вы удивитесь, увидев, что решение содержит два проекта, а не одно, как вы могли предполагать. Начнем с первого проекта.

Game Project

Узлы Properties и References проекта нам уже знакомы по работе с Silverlight-проектами. В частности, в References содержатся стандартные сборки платформы XNA, а также специальные сборки для платформы Windows Phone.

References

Остальные части проекта нужно рассмотреть подробнее. Начнем с папки Content References, которая позволяет проекту считывать содержимое (графику, звуки, музыку) для использования в играх. Если вы раскроете папку Content References, то увидите, что там находится ссылка на второй проект (в нашем примере проект носит имя WindowsPhoneGame1Content).

Также имеется файл Background.png. Файл содержит изображение размером 173 x 173 пикселей, которое используется на стартовой странице устройства, если пользователь захочет закрепить его там. Для своей игры вам необходимо создать собственную картинку.

Файл Game.ico - это обычный значок с размером 32 x 32 пикселя. Ваша игра будет запускаться при помощи этого значка на экране устройства. По умолчанию там изображен контроллер Xbox. Вам также нужно изменить значок для своей игры для привлечения внимания игроков.

Файл Game1.cs - основной файл, который содержит базовый игровой цикл XNA Game Studio.

Файл GameThumbnail.png - значок с размером 64 x 64 пикселей, который будет отображаться на экране быстрого запуска телефонав, а также в магазине приложений Windows Phone Marketplace. Необходимо, чтобы изображение совпадало с изображением Background.png, чтобы у пользователя не возникло путаницы при использование вашей игры со стартовой страницы и со страницы с установленными приложениями. Можно дважды щелкнуть элемент в обозревателе решений, чтобы открыть файл в зарегистрированном на вашем компьютере приложении для редактирования изображений, например Paint.exe.

И, наконец, есть еще файл Program.cs. Если вы его откроете, то увидите, что здесь содержится следующий код:

 
using System; 
 
namespace Sprites 
{ 
#if WINDOWS || XBOX 
    static class Program 
    { 
        ///  
        /// The main entry point for the application. 
        ///  
        static void Main(string[] args) 
        { 
            using (Game1 game = new Game1()) 
            { 
                game.Run(); 
            } 
        } 
    } 
#endif 
}

Код очень прост: создается экземпляр класса Game1 и вызывается его метод Run.

Обратите внимание, что в проекте нет привычных нам форм или страниц, куда можно перетаскивать кнопки и другие элементы управления. XNA работает по другому принципу, используя графику, которая рисуется через программный код.

Content Project

Перейдем ко второму проекту решения. При создании он пустой. И ваша задача - заполнить его своими файлами (графику, звуки, музыку, 3D-модели и так далее), которые будут использоваться в игре. В следующем уроке мы рассмотрим этот процесс подробнее.

Если вы запустите проект прямо сейчас, то увидите пустой синий экран - синий цвет является стандартным для XNA-приложений. Естественно, вы можете задать и свой цвет. Откройте файл Game1.cs и найдите строчку:

GraphicsDevice.Clear(Color.CornflowerBlue);

Установите любой другой цвет для фона приложения, например Color.Orange (Оранжевый) и запустите проект еще раз.

Поздравляю, вы создали первую XNA-игру! Пока наша игра ничего не делает, но вы уже поняли, как создавать новый проект.