4

Разработка игры на phaserjs - 12: Бомбы

Добрый день, уважаемые читатели.

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

И так поехали!

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

Идея: когда вы соберете все звезды в первый раз, будет скинута прыгающая бомба. Бомба будет просто случайным образом подпрыгивать по уровню, и если вы столкнетесь с ней, вы умрете. Все звезды возродятся, чтобы вы могли собрать их снова, после того как вы соберете и их, будет сброшена еще одна бомба.

Таким образом нашей задачей будет набрать как можно больше очков и не умереть.

Подготовка к работе

для работы над проектом вам понадобится настроенный phaserjs и установленный nodejs. Все необходимые файлы доступны по ссылке.

Добавляем бомбы

Первое что нам нужно, это группа объектов для бомб и несколько коллайдеров:

Бомбы, конечно, будут отскакивать от платформ, и если игрок ударит их, мы вызовем функцию hitBomb. Все, что для этого нужно, - это остановить игру и покрасить игрока в красный:

Пока все хорошо, но нам нужно реализовать механизм сброса бомб. Для этого модифицируем функцию collectStar:

Мы используем метод countActive, чтобы узнать, сколько звезд осталось в живых. Если живых звезд нет, значит, игрок собрал их все, и нам нужно, снова включить все звезды и сбросить их положение по оси Y на ноль. Это заставит все звезды снова упасть с верхней части экрана.

Следующая часть кода создает бомбу. Сначала мы выбираем для него случайную координату x, всегда на противоположной стороне экрана от игрока, просто чтобы дать ему шанс. Затем создается бомба, которая сталкивается с миром, отскакивает и имеет случайную скорость.

Конечный результат - симпатичный маленький спрайт бомбы, который отскакивает от экрана. Достаточно малы, чтобы их было легко избежать вначале, но как только числа накапливаются, становится намного сложнее!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества