Оценить:
 Рейтинг: 0

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

Год написания книги
2018
<< 1 2 3 4 5 6 7 8 ... 15 >>
На страницу:
4 из 15
Настройки чтения
Размер шрифта
Высота строк
Поля

// Координаты касания и другие необходимые параметры

int tapY = (int)gesture.Position.Y;

int tapX = (int)gesture.Position.X;

<…>

switch (gesture.GestureType)

{

// Если жест является нажатием:

case GestureType.Tap:

<…>

break;

<…>

// Если жест является перетягиванием:

case GestureType.FreeDrag:

<…>

break;

}

}

Нажатия на аппаратные кнопки

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

Одним из требований к приложениям и играм является то, что необходимо программировать действия для аппаратной кнопки назад таким образом, что после нажатия на нее показывается предыдущий модуль игры (не относится к игровым уровням), пример:

Меню – Список уровней – Уровень 1 – Уровень 2

Из любого уровня переход назад осуществляется в Список уровней, даже если новый уровень запускался после предыдущего, из Списка уровней соответственно в Меню, из Меню же происходит выход из приложения:

if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)

{

if (Mode == GameMode.Menu)

{

this. Exit ();

}

else if (Mode == GameMode.Levels)

{

Mode = GameMode.Menu;

}

else if (Mode == GameMode.Level_1)

{

Mode = GameMode. Levels;

}

else if (Mode == GameMode.Level_2)

{

Mode = GameMode.Levels;

}

}

Создание игровых модулей рассмотрено в соответсвующем разделе.

Работа с таймером

Некоторые игры требуют работу со временем и выводом некоторого таймера на экран. Пример:

Необходимые переменные:

// Время игры, промежуточное время

int time, tempTime;

// Время в представлении ЧЧ:ММ:СС

string timeString;

В методе Update(GameTime gameTime) указываем:
<< 1 2 3 4 5 6 7 8 ... 15 >>
На страницу:
4 из 15