Программирование для мобильных платформ. Windows Phone

Текст
Читать фрагмент
Отметить прочитанной
Как читать книгу после покупки
Программирование для мобильных платформ. Windows Phone
Шрифт:Меньше АаБольше Аа

© Иван Трещев, 2018

ISBN 978-5-4493-6869-0

Создано в интеллектуальной издательской системе Ridero

Введение

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

Лаборатория которой руководил автор на протяжении 5 лет занималась разработкой различных приложений для самых популярных за последнее пятилетие операционных систем носимых устройств – Android, IOS, Windows Phone. Хотя сегодня платформа корпорации Microsoft уже мало используется, но возможность практически без дополнительных затрат со стороны программиста (в случае если Visual Studio уже установлено) разрабатывать эти самые приложения, выкладывать их в магазины при этом не неся затрат на тиражирование, продажу, экспозицию и другие накладные расходы вызывает неподдельный интерес среди любой среды, где собираются единомышленники по созданию кода.

Данная книга посвящена разработке приложений именно под платформу от Microsoft и является первой в цикле, которые автор намерен опубликовать.

У читателя предполагается опыт программирования на объектно-ориентированном языке, желательно опыт на C#.

По мнению автора нет ничего более увлекательного для программиста, чем разработка игрового приложения – именно так можно заинтересовать аудиторию и постараться окунуть ее в «бездну программирования». Далее по тексту используется собирательное понятие игра, как отражение разрабатываемых мобильных приложений (соотвественно приложения и классы именуются Game).

Автор хотел бы выразить огромную благодарность Сыровацкой Е. С. и Вавиличеву А. В., которые проверяли тексты программ из книги, принимали непосредственное участие в тестировании приложений и внимание к работе.

Работа с XNA

Начальные теоретические сведения

Для разработки приложений и игр для платформы Windows Phone чаще всего используется язык программирования C#. Для написания основной логики используются:

////////////////////////////////////////////////////////////////////////////

if (условие1) // условие содержит логическое выражение

{

// Действия, которые надо выполнить, если условие1 выполняется

}

elseif (условие2) // Не обязательно

{

// Действия, которые надо выполнить, если условие1 не выполняется, но выполняется условие2

}

else// Не обязательно

{

// Действия, которые надо выполнить, если условия 1 и 2 не выполняются

}

////////////////////////////////////////////////////////////////////////////

switch (значение1)

{

case значение2:

// Действия, которые надо выполнить, если значения 1 и 2 равны

break;

case значение3:

// Действия, которые надо выполнить, если значения 1 и 3 равны

break;

<…>

}

////////////////////////////////////////////////////////////////////////////

тип [] mas1 = new тип [число элементов]; // Объявления одномерного массива

тип [,] mas2 = new тип [число строк, число столбцов]; // и двумерного массива

////////////////////////////////////////////////////////////////////////////

foreach (тип новая_переменная in mas1) // Цикл по всем элементам

{

// Действия для каждого объекта из mas1, где под объектом подразумевается новая_переменная

}

////////////////////////////////////////////////////////////////////////////

for (i = начальное_значение; i <= Конечное_значение; i++) // Цикл

{

// Тело цикла

}

////////////////////////////////////////////////////////////////////////////

While (условие) // Выполнять цикл пока условие = true

{

// Тело цикла

}

////////////////////////////////////////////////////////////////////////////

Random rand = new Random (); // Создает переменную rand для работы со случайными числами

// Присваивает переменной случайное значение от 0 до максимального значения:

имя_переменной = rand.Next (максимальное_значение);

//Присваивает переменной случайное значение от минимального значения до максимального значения:

имя_переменной = rand.Next (минимальное_значение, максимальное_значение);

////////////////////////////////////////////////////////////////////////////

Разработка игр с использованием XNA

В отличие от разработки приложений для Windows Phone, для создания игр целесообразно использовать набор инструментов XNA. При разработке игры на платформе Silverlight, что используется для создания приложений, может возникнуть трудность с отображением большого количества элементов на экране, а именно долгая отрисовка и как следствие подвисание самой игры, поэтому для создания игр для Windows Phone в SDK включена возможность использования XNA.

Окно создания проекта представлено на рисунке 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);

}

Бесплатный фрагмент закончился. Хотите читать дальше?
Купите 3 книги одновременно и выберите четвёртую в подарок!

Чтобы воспользоваться акцией, добавьте нужные книги в корзину. Сделать это можно на странице каждой книги, либо в общем списке:

  1. Нажмите на многоточие
    рядом с книгой
  2. Выберите пункт
    «Добавить в корзину»