18+
реклама
18+
Бургер менюБургер меню

Иван Трещев – Программирование для мобильных платформ. Windows Phone (страница 2)

18

Окно создания проекта представлено на рисунке 1.

Рисунок 1 – Создание проекта игры для Windows Phone

Во вкладке «Обозреватель решений» показанны все файлы, включенные в проект, работать предстоит с файлом Game1.cs, в нем располагается основная логика игры (рис.2).

Рисунок 2 – Обозреватель решений

Background.png и PhoneGameThump.png являются иконками игры, которые отображаются в меню смартфона, их необходимо заменить на свои файлы с теми же названиями и размерами изображений.

В папке GameContent необходимо расположить весь контент игры: текстуры, звуки, шрифты и другое. Они помещаются в папку контента и добавляются в проект при нажатии правой копкой мыши в обозревателе решений по папке контента и выборе действия "Добавить существующий элемент" (рис 3):

Рисунок 3 – Добавление контента

Изначально файл Game1.cs содержит несколько стандартных и необходимых методов:

public Game1()

{

// Здесь указываются ориентация экрана, частота обновления,

// разрешение и сенсорные жесты, которые будут использованы в игре

}

protected override void LoadContent()

{

// Здесь загружается весь контент, необходимый в игре

}

protected override void Update(GameTime gameTime)

{

// Здесь располагается логика, выполняемая при обновлении экрана

base.Update(gameTime);

}

protected override void Draw(GameTime gameTime)

{

// Здесь производится отрисовка графического контента

base.Draw(gameTime);

}

Вывод текста и графики в XNA

Для того чтобы вывести текст на экран, необходимо добавить в папку с контектом файл с названием *.spritefont, где * – название шрифта, этот файл содержит следующие строки:

<?xml version="1.0" encoding="utf-8"?>

<XnaContent xmlns:Graphics="Microsoft.Xna.Framework.Content.Pipeline.Graphics">

<Asset Type= " Graphics: FontDescription»>

<FontName>Segoe UI</FontName>

<Size>15</Size>

<Spacing>0</Spacing>

<UseKerning>true</UseKerning>

<Style>Bold</Style>

<CharacterRegions>

<CharacterRegion>

<Start> </Start>

<End>~</End>

</CharacterRegion>

<CharacterRegion>

<Start>А</Start>

<End>я</End>

</CharacterRegion>

</CharacterRegions>

</Asset>

</XnaContent>

FontName – в этих тегах заключено имя шрифта, Microsoft не рекомендует использовать какие-либо специфические шрифты, одни из рекомендуемых – шрифты Segoe разных разновидностей.

Size – определяет размер шрифта.

Style – определяет стиль шрифта (Regular, Bold, Italic).

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

После добавления этого файла в проект, его необходимо объявить в коде:

SpriteFont Название_переменной; // Создаем переменную в начале класса Game1

В методе LoadContent() прописываем следующее:

Название_переменной = Content.Load<SpriteFont>("*"); //где * – название файла

В методе Draw(GameTime gameTime) выводим текст на экран:

spriteBatch.DrawString(Название_переменной, "Текст, который необходимо вывести", new Vector2(координата_x, координата_y), Color.Цвет);

Вывод изображения аналогичен выводу текста:

Texture2D Название_переменной; // Создаем переменную в начале класса Game1

В методе LoadContent() прописываем следующее:

название_переменной = Content.Load<Texture2D>("*"); // где * – название файла

В методе Draw(GameTime gameTime) рисуем текстуру:

spriteBatch.Draw(название_переменной, new Rectangle(координата_x, координата_y, ширина, высота), Color.White);