Создание игры в Phaser. Часть 7 — Звёзды

phaser_tutorial_header_7

Пришло время, дать нашей маленькой игре цель. Поставим на сцене несколько звёзд и позволим собирать их. Для достижения этой цели мы создадим группу под названием «stars» и заполним её. Добавим в нашу функцию create следующий код (пример можно посмотреть в файле part8.html):

Этот процесс аналогичен созданию группы «platforms». Используя JavaScript для цикла мы создадим 12 звёзд в нашей игре. Они имеют координату Х равную i * 70, это означает, что они будут распределены на расстоянии 70 пикселей друг от друга. Как и с игроком мы дадим им значение силы тяжести, таким образом они будут падать вниз, а значение отскока такое что они будут немного отскакивать, когда попали на платформу.

Значение отскока может задаваться от 0 (без отскока) до 1 (полный отскок). Наше значение будет где то между 0.7 и 0.9. Если мы запустим наш код сейчас, звеёзды будут падать через нижнюю часть игры. Что бы это остановить, нам нужно проверить столкновение с платформой в цикле обновления:

Так же мы будем проверять пересекается игрок со звездой или нет:

Эта говорит Phaser о проверке перекрытия между игроком и любой звездой из группы «stars». Если перекрытие подтверждено, то значения передаются в функцию «collectStar»:

Довольно просто, звезда удаляется с экрана. Запускаем, теперь мы видим игрока, который может прыгать по платформам и собирать звезды. Неплохо для нескольких строк кода.

part8

Оригинал.