Вы находитесь на странице: 1из 14

Разработка

мобильных приложений
дополненной реальности
Урок № 8
Переменные.
Создание мобильной
игры Mole Mash

Дополнительные материалы к уроку прикреплены к данному


PDF-файлу. Для доступа к материалам, урок необходимо открыть
в программе Adobe Acrobat Reader.

2
Переменные. Создание мобильной игры Mole Mash

Переменные. Создание
мобильной игры Mole Mash
Вы видели игры, в которых по экрану скачет неулови-
мый персонаж? Давайте подробно разберем логику такого
приложения. Затем мы создадим собственную мобильную
игру Mole Mash о кроте, который будет удирать от игрока.
Создадим проект в App Inventor. Добавим на экран
элемент Canvas из вкладки Drawing and Animation. Затем
поменяем его размеры, установив значение Fill parent
в настройках Height и Width (рис. 1). Это будет основа
игрового поля.

Рисунок 1
Разместим на поле несколько картинок, которые мы
превратим в норы крота. Для этого воспользуемся эле-

3
Урок № 8

ментом ImageSprite. Добавим на экран 8 объектов, пере-


именуем их в Hole (рис. 2).

Рисунок 2
Подключим картинку Hole.png в каждый ImageSprite.
Нужный файл можно найти в дополнительных материа-
лах. Также нужно выбрать положение каждого отверстия
по осям XY. Вы можете самостоятельно разместить норы
на поле или воспользоваться примером на рисунке 3.
Помните, норы нужно размещать на расстоянии не менее
50 пикселей от верхнего края, иначе главный персонаж
не поместится на поле.
Затем добавим на поле еще один ImageSprite, назовем
его Mole (Крот). Это и будет наш персонаж (рис. 4).

4
Переменные. Создание мобильной игры Mole Mash

Рисунок 3

Рисунок 4

5
Урок № 8

Подключим в новый ImageSprite изображение Mole.


png из дополнительных материалов (рис. 5).

Рисунок 5
Теперь создадим счетчик очков. Для этого добавим над
игровым полем элемент HorizontalArrangement. Поместим
в него два текстовых элемента Label. Переименуем их на
ScoreLabel и ScoreValueLabel. Шаблонный текст заменим
на Score и число 0. Готовый результат представлен на
рисунке 6.

6
Переменные. Создание мобильной игры Mole Mash

Рисунок 6
Также нам нужно добавить кнопку Restart и элемент
Clock, который будет запускать отсчет игрового времени
(рис. 7). Вы всегда можете поменять оформление отдельных
элементов интерфейса, к примеру, перекрасить кнопки,
изменить цвет игрового поля и т.д.

7
Урок № 8

Рисунок 7
После этого мы можем переходить к программиро-
ванию.
Давайте создадим процедуру MoveMole, которая бу-
дет отвечать за перемещения крота, и подключим в нее
локальную переменную currenHole (рис. 8). Перемен-
ная — это такой контейнер, в котором будет храниться
информация обо всех кротовьих норах на поле.

8
Переменные. Создание мобильной игры Mole Mash

Рисунок 8
Как переменная узнает, сколько нор находится на
поле, где они расположены? Для этого нам понадобится
список всех отверстий — List. Для этого мы создадим
глобальную переменную Hole и подключим в нее пустой
список (create empty list) (рис. 9).

Рисунок 9
Локальная переменная currentHole будет обращаться
к списку и выбирать случайный элемент переменной
global Hole. Эта информация будет влиять на перемеще-
ния крота с помощью блока call Mole .MoveTo (рис. 10).

Рисунок 10
Чтобы задать точные значения по осям XY, нужно
подключить к этому блоку ImageSprite .X и .Y текущей
норы. Воспользуемся блоками из раздела Any component,

9
Урок № 8

поскольку нам нужно учитывать все отверстия на поле


(рис. 11).

Рисунок 11
Теперь создадим сам список. Список будет формиро-
ваться сразу после запуска игры. Для этого мы восполь-
зуемся блоком Screen1 .Initialize. Поместим в него блок
списка, который будет передавать данные в переменную
global Hole. Добавим в список 8 слотов, подключим в каж-
дый из них один из элементов Hole (рис. 12).

Рисунок 12

10
Переменные. Создание мобильной игры Mole Mash

Затем каждый элемент в списке нужно связать с про-


цедурой MoveMole. Для этого используем блоки, пока-
занные на рисунке 13.

Рисунок 13
Теперь запрограммируем работу счетчика. Создадим
еще одну глобальную переменную score, значение кото-
рой должно равняться 0. Свяжем ее с текстовой строкой
ScoreValueLabel с помощью новой процедуры UpdateScore
(рис. 14).

Рисунок 14
После этого создадим несколько игровых условий
(рис. 15):
1. Как только элемент Clock начнет отсчет времени, за-
пустится процедура MoveMole.
2. Если игрок прикоснется к изображению крота, к общему
счету в строке ScoreValueLabel будет добавлен 1 балл.

11
Урок № 8

Рисунок 15
Запрограммируем кнопку Restart. По нажатию на нее,
счет в строке ScoreValueLabel будет обнуляться (рис. 16).

Рисунок 16
Наша игра готова! Теперь нужно скомпилировать
проект, а также проверить его работу в эмуляторе или
на смартфоне.

12
Переменные. Создание мобильной игры Mole Mash

13
Урок № 8
Переменные. Создание мобильной
игры Mole Mash

© Компьютерная Академия «Шаг»


www.itstep.org

Все права на охраняемые авторским правом фото-, аудио- и видеопро-


изведения, фрагменты которых использованы в материале, принадле-
жат их законным владельцам. Фрагменты произведений используются
в иллюстративных целях в объёме, оправданном поставленной задачей,
в рамках учебного процесса и в учебных целях, в соответствии со ст. 1274
ч. 4 ГК РФ и ст. 21 и 23 Закона Украины «Про авторське право і суміжні
права». Объём и способ цитируемых произведений соответствует
принятым нормам, не наносит ущерба нормальному использованию
объектов авторского права и не ущемляет законные интересы автора
и правообладателей. Цитируемые фрагменты произведений на момент
использования не могут быть заменены альтернативными, не охраня-
емыми авторским правом аналогами, и как таковые соответствуют
критериям добросовестного использования и честного использования.
Все права защищены. Полное или частичное копирование материалов
запрещено. Согласование использования произведений или их фраг-
ментов производится с авторами и правообладателями. Согласованное
использование материалов возможно только при указании источника.
Ответственность за несанкционированное копирование и коммерческое
использование материалов определяется действующим законодатель-
ством Украины.

Оценить