Часть 4. Добавление элементов уровня. | В паутине

Часть 4. Добавление элементов уровня.

Вольный перевод статьи How to Create a Platform Game in AS3 – Part 4 Часть комментариев (особенно по математическим расчетам) — моя.

На этом уроки мы добавим в нашу игру различные элементы типа лестниц, трамплинов и препятствий.
Лестницы
Первым делом добавим лестницы, которые позволят персонажу подниматься с одной платформы на другую. В нашей игре они будут выглядеть так же, как основные блоки, то есть будут простыми квадратиками 25х25. Для опознания сделаем их желтого цвета. Необходимо разместить их на сцене. Все лестницы будут помещены в отдельный контейнер ladderHolder для удобства. Кроме того мы создадим специальный объект, в котором будут содержаться все элементы уровня, включая blockHolder и ladderHolder. Найдите в коде место, где мы создавали blockHolder и допишите следующий код:

Теперь внесем изменения в функцию createLvl(). Условным обозначением для лестниц на схеме уровня будет «2». Нужно немного отшлифовать наш цикл создания уровня:

Теперь при нажатии управляющих стрелок вместо blockHolder необходимо двигать lvlHolder. Надеюсь, вы знаете, как это сделать. Подсказка: посмотрите в функции moveChar().
Добавим нашим лестницам функциональности. Введем переменную, хранящую информацию о том, контактирует ли персонаж с лестницей.

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

Изменим теперь схему уровня, чтобы проверить, как работают лестницы.

Протестируйте нашу игру, все должно работать отлично. Единственная проблема: главный герой визуально находится за лестницей, а не перед ней. Это легко исправить добавлением следующего кода:

Бамперы

Разобравшись с лестницами, перейдем к бамперам (препятствиям). Они действуют как разновидность стен, при столкновении с ними персонажа, он отталкивается обратно. У нас они будут выглядеть как зеленые квадратики. Прежде всего, конечно, создадим контейнер для всех бамперов:

Добавьте этот код в цикл функции createLvl():

Этот код просто добавляет бампер на сцену. Теперь необходимо сделать так, чтобы персонажа отбрасывало, когда он контактирует с бампером. Используем тот же принцип, что мы использовали для прыжков. Определим для начала некоторые переменные:

Добавим следующий код в конец функции moveChar():

Вот и все, что необходимо для функционирования бамперов. Если у вас есть желание, вы можете протестировать нашу игру, добавив в схему несколько элементов 3.

Трамплины

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

Добавим трамплины в цикл функции createLvl(). Их условное обозначение – «4».

Мы можем добавить трамплин на схему уровня.

Теперь пропишем проверку на столкновение героя с трамплином. Как и прежде, необходимо внести дополнения в функцию moveChar().

Это, возможно самый простой в программировании элемент игрового уровня.
В следующей части мы добавим нашему герою врагов!

Все уроки руководства

1. Создание главного персонажа
2. Создание уровня
3. Взаимодействие персонажа с блоками
4. Добавление элементов уровня
5. Добавление врагов
6. Завершение уровня
7. Последние штрихи

Комментарии (0)

Ваш email не будет опубликован. Все поля обязательны