Mit App Inventor игра стрелялка ( Shooter Game )

App Inventor Shooter game



Всем привет! В новом уроке по программированию в среде App Inventor я расскажу как создать игру стрелялку, на подобии звездных войн. Игровое приложение будет достаточно примитивным и не очень красочным, но юные программисты смогут освоить идею и разобраться с кодом программы. Добавить графику, сделать дополнительные кнопки — это будет домашним заданием. Через некоторое время я выложу уже красивую версию игры. Скачать APK-файл shooter game Звездные войны можно прямо с сайта — СКАЧАТЬ УСТАНОВОЧНЫЙ ФАЙЛ ИГРЫ.

Видео инструкция по созданию игры

Пошаговая инструкция по созданию игры стрелялки в Апп Инвентор

Прежде всего надо подготовить примитивную графику:два звездолета (скачать звездолеты в zip-архиве). Далее зарегистрироваться в среде разработке App Inventor (как это сделать читаем инструкцию), создать первый проект (я его назвал shooter game star wars) и теперь можно приступить к программированию. Инструкция будет разбита на два этапа: графика и интерфейс и написание программного кода. Приступим к первой части проекта Апп Инвентор.

Добавление графики и оформление интерфейса компьютерной игры

  1. Создаем новый проект и переходим к блоку Рисование и анимация в левом меню App Inventor. Переносим элемент Холст на экран будущей игры и вносим следующие изменения в свойства элемента: Ширина: Наполнить родительским; Высота: 300 пикселей; Цвет фона:Бирюзовый (можете выбрать любой другой). Для наглядности смотрите рисунок под текстом:
    Добавляем холст на экран апп инвентора 2
  2. Далее переносим два раза элемент: ИзоражениеСпрайта (стреляющий звездолет и звездолет, в который будут стрелять) и Шар (пули). Загружаем картинки из архива и устанавливаем их рисунками для спрайтов. Размещаем все элементы на Холсте нужным образом (перетаскиваем элементы мышкой). Фото инструкция для этого пункта меню:
    Загружаем графику звездолетов и настраиваем позиционирование в игре для Андройд
  3. Переходим в блок Расположение левого меню App Inventor и перетаскиваем под Холст элемент ГоризонтальноеРасположение. Далее переносим в него элемент Надпись и два раза элемент Кнопка. В свойствах элемента Надпись указываем высоту: 20 pix, ширину: 100 pix. В свойствах элемента Кнопка находим параметр Текст и размещаем стрелки для направления (я выбрал такие: =>>)
  4. Последним графическим штришком станет добавление счетчика, который будет считать количество попаданий по звездолету врага. Для этого перенесем элемент Надпись ил блока Интерфейс пользователя в самый низ экрана. В свойствах параметра Текст укажем значение 0.
    Добавляем счетчик попаданий к shooter game
  5. С графикой и интерфейсом покончили и почти перешли к программированию игры, но перед переходом в раздел Блоки добавим на экран игры под Андройд еще два элемента -Таймер (назовем каждый из них в соответствии с названием спрайтов — звездолетов)
    Добавляем сенсоры времени в Апп Инвентор игру
  6. Программируем стрельбу звездолета. Представленный ниже кусок блочного кода заставляет выпушенный заряд исчезнуть при соприкосновении с краем экрана.
    программируем стрельбу звездолетов
  7. Используем элемент Время (Часы) для программирования скорости полета выпушенного шара. Попробуйте поменять значение 10 на другое число и вы увидите, что выстрел полетит быстрее.
    запускаем таймер времени для игры стрелялки
  8. Для объекта стреляющий звездолет описываем положение стреляющего шара, центруем его — фиолетовый программный блок. Далее запускаем элемент Часы (скорость выстрела пули в игре). И так как после полета выстрел становится невидимым переводим свойство для спрайта выстрел в видимое состояние.
    пишем программный код для стреляющего звездолета
  9. Код для левой кнопки игры. тут все просто — код перемещает спрайт влево на 15 единиц. При изменении числового значения изменится скорость переноса объекта и расстояние, на которое он перенесется.
    Код для левой кнопки игры
  10. Код для правой кнопки игры. Похожий код, только для направления вправо.
    Код для правой кнопки игры
  11. Код для второго звездолет. Данный кусок программного блочного кода переносит спрайт в крайний правый угол экрана при его соприкосновением с краем.
    код для второго звездолет
  12. Код для пуль (шара). Метод Наложение с объектом позволяет вести подсчет попаданий — первая часть блока и прибавлять одну единицу при попадании. А так же убирает шар-выстрел с экрана при соприкосновении с любым другим объектом на рабочем экране программы.
    код для пуль (шара)
  13. Данный кусок кода позволяет начать движение второму звездолету (по которому стреляю) сразу же после запуска приложения и начать перемещаться со скоростью 10 единиц. ВНИМАНИЕ: обратите внимание, что скорость первого звездолета выше, чем у этого спрайта. Как вы думаете почему ?
    код для таймера подсчета очков в игре

Вот мы и написали простейшую shooter игру с помощью программы App Inventor. Все просто, понятно и с этой задачей справится любой ребенок старше 8 лет.  Домашним заданием для ребят занимающихся на моих уроках в Балашихе (артцентр Лантариум) будет следующим:

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

Для остальных читателей рекомендую подписаться на мой блог, ведь впереди еще много интересных игр и разработок на базе App Inventor и Scratch. Другие материалы смотреть в категории посвященной каждой среде детского программирования. Пока!

Author: Александр Захаркив