Как-то раз, один Смельчак решил отправиться в долину зомби, чтобы покончить с ними раз и навсегда. У него было оружие с большим запасом патронов и храброе сердце. Удастся ли ему победить в этой схватке? Об этом Вы узнаете из нашей игры.
В этой игре у нас будет всего четыре спрайта: Смельчак, его верная Пуля, и два злобных зомби. Смотреть на них мы будем сверху. Как вы поняли из комикса, котиков в этой игре не будет… Удалите спрайт Кота.
Сначала, как обычно нарисуем фон и спрайты героев игры. Фон можно сделать как у меня — однотонным, но можно и усложнить игру, нарисовав на фоне какие-нибудь кусты и коряги. Выберите сцену.
Залейте фон серым.
Выберите инструмент Кисть.
Выберите красный цвет, и нарисуйте лаву. Установите максимальный размер кисти.
Нарисуйте в углу озеро лавы.
Фон готов. Теперь удалите вездесущего Кота, и нарисуйте Смельчака.
Выберите Кисть.
Установите минимальную толщину Кисти.
Масштаб сделайте очень крупным.
Выбирая разные цвета, тонкой Кистью нарисуйте Смельчака, как будто смотрите на него сверху.
Переименуйте Смельчака.
Потом нарисуйте Пульку.
Выберите Кисть.
Установите минимальную толщину Кисти.
Масштаб сделайте очень крупным.
Нарисуйте малюсенький прямоугольничек, это будет Пулька.
Переименуйте Пульку.
Аналогичным образом нарисуйте первого Зомби. Выберите тоненькую Кисть и увеличьте масштаб, чтобы было удобнее рисовать.
Переименуйте первого Зомби.
Второго Зомбика пока рисовать не будем. После того, как запрограммируем поведение первого, то просто продублируем его — получится второй Зомбик.
Начинаем делать программу. Сначала создадим два списка. Список, это такой объект, который содержит в себе несколько переменных. Нам список понадобился для того, чтобы задать места появления Зомбиков. Если они будут появляться в любом месте экрана, то будет очень трудно играть, ведь Зомбик может появиться очень близко к отважному парню, и сразу его слопать. Для того, чтобы Зомбики появлялись только по краям экрана, мы зададим конкретные места их появления. Для этого нам и понадобятся списки. В первом списке будут лежать координаты Y мест появления Зомбиков, во втором списке будут храниться координаты X их мест появления. В списке «места Y» будут лежать четыре значения: -160, -80, 80, 160. В списке «места Х» будут храниться два значения: -200 и 200. Задав такие значения координатам мест появления Зомбиков, мы получим восемь возможных мест их появления. Каждый из Зомбиков может появится либо в этих двух точках.
Либо в этих двух точках.
Либо в этих двух точках.
Либо в этих двух точках. Ничего, что один из Зомбиков появился прямо в лаве. Эти зомби лавы не боятся.
Вот как выглядят все эти восемь мест появления на одном рисунке.
Для того, чтобы создать списки, в оранжевых блоках нажмите «Создать список».
Введите имя первого списка — «место Y».
Появится пустой список. Поставьте около него галочку, он отобразится на экране. Перетащите его повыше, чтобы он был виден целиком. Сейчас список пустой. Внизу указано, что длина списка (length) равна нулю.
Давайте заполним его необходимыми значениями. Нажмите внизу плюсик.
Появится первый элемент списка с неопределённым значением.
Введите туда число -160.
Снова нажмите плюсик, и введите число -80.
Введите ещё два значения, 80 и 160. Список примет следующий вид. Обратите внимание, длина списка (length) стала равна четырём.
Снимите галочку около списка, он пропадёт с экрана.
Теперь создадим второй список. Нажмите «Создать список».
Введите название.
Перетащите список повыше, и заполните значениями.
Введите значения -200 и 200.
Снимите галочку около списка, он пропадёт с экрана.
Теперь, когда списки готовы, можно начинать программировать спрайты. Сначала сделайте программу для Смельчака. В его программе только один скрипт, зато большой. Управляется наш камикадзе стрелками. Вверх и вниз — бег, вправо и влево — поворот. Пробел передаёт событие «стреляю». На это событие будет реагировать Пулька.
Если «герой, штаны с дырой», коснётся хотя бы одного из Зомбиков - «давай, до свиданья».
Программа Смельчака.
У Пульки всего два скрипта. Первый скрипт просто её прячет.
Второй скрипт отрабатывает событие «стреляю». Сначала Пулька перемещается в центр Смельчака, поворачивается в том же направлении, куда смотрит Смельчак, а потом летит до края и исчезает.
Теперь сделаем программу зомбику1. Всего у него будет четыре скрипта. Первый скрипт прячет зомбика1, ждёт от одной секунды до трёх и устанавливает зомбика1 в одно из восьми мест. Когда зомбик установлен в нужное место, он показывается, и начинает движение, пока не поймает Смельчака, или не словит Пулю.
Второй скрипт устанавливает направление движения зомбика1. Он всегда двигается по направлению с нашему герою.
Третий скрипт определяет взаимодействие с Пулькой. Касаясь её, зомбик1 исчезает, на прощание передавая событие «заново». Это событие сразу же порождает нового монстра, который незамедлительно атакует Смельчака.
Четвёртый скрипт отвечает за обработку события «заново». Новый зомбик помещается в одну из восьми начальных точек, появляется, и как обычно бегает за смелым героем, ни на секунду не давая ему передышки.
Все четыре скрипта зомбика1 готовы. Дублируете этого товарища.
У него автоматически появится имя зомбик2. Все его скрипты полностью идентичны скриптам зомбика1, за исключением передаваемого события. Если первый зомбик передавал событие «заново», то второй будет передавать событие «заново2». Создайте новое событие «заново2».
Замените в скриптах зомбика2 все события «заново» на «заново2». Если этого не сделать, то при гибели любого из двух зомби возрождаться будут сразу оба, а не только тот, который погиб.
Игра готова. Попытайтесь продержаться как можно дольше.
Вопросы по игре «Атака зомби».
1. Как ускорить движение зомбиков?
2. Как ускорить движение Смельчака?
3. Как ускорить движение Пули? Какой баг может появиться, если движение пульки очень быстрое?
Задания по доработке игры «Атака зомби».
1. Сделайте так, чтобы направление движения Смельчака задавалось с помощью мышки.
2. Сделайте третьего зомбика.
3. Увеличьте до десяти количество мест, в которых может появиться зомби.
4. Сделайте Смельчаку 5 жизней.