Создание игры в Phaser. Часть 4 — Группы

phaser_tutorial_header_4

Группы крайне полезны. Как видно из названия, группы позволяют вам объединять одинаковые объекты и контролировать их как один. Вы можете так же выявлять различия между группами, ну а для текущей игры мы будем использовать две разные группы, одна из которых создана в заголовке кода для платформ.

platforms = game.add.group();

Как и в случае со спрайтами, game.add задаёт объект нашей группы. Мы привязываем его к новой локальной переменной platforms. Создав её, мы можем добавить в неё объект. Во-первых это земля. Она расположена внизу игры и использует изображение земли, загруженное ранее. Земля заполняет нижнюю часть мира по его ширине. Под конец мы задаём параметр immovable на true. Если этого не сделать, земля будет перемещаться вслед за игроком.(подробнее об этом в разделе Physiсs).
Вместе с землёй мы создаём пару небольших платформ для прыжков по ним, используя ту же методику, что и для земли.

Готовим первого игрока

Создаём новую локальную переменную player и добавляем следующий код в создаваемую функцию. Вы можете увидеть это в part5.html :

Это создаёт новый спрайт под названием «игрок», занимающий 32 пикселя и расположенный в 150 пикселях от низа игры. Мы велим ему использовать предварительно загруженные настройки «dude». Если отмотаете обратно к предзагрузочной функции, то заметите, что «dude» загружена как список спрайтов, а не картинка. Это потому, что он содержит элементы анимации. Вот как выглядит полный список спрайтов:

dude

Всего 9 элементов, 4 для движения влево, 1 смотрящий в камеру и 4 для движения вправо. Заметим: Phaser поддерживает крутящиеся спрайты для сохранения в кадрах анимаций, но для данного руководства мы будем придерживаться старой школы.

Мы выделили две анимации с названиями «лево» и «право». «Левая» анимация использует кадры 0,1, 2 и 3 и двигается со скоростью 10 кадров в секунду. Параметр «true» заставляет анимацию зациклиться. Это наш стандартный цикл выполнения и повторяем его для движения в противоположную сторону. Вместе с набором анимаций мы добавляем несколько физических свойств.

Оригинал