Создание игры в Phaser. Часть 6 — Управление игроком с клавиатуры

phaser_tutorial_header_6

Столкновения объектов это всё хорошо, но нам действительно нужно заставить игрока двигаться. Вы, вероятно думаете о том, как добавить слушатель событий, но в этом нет необходимости. Phaser имеет встроенный менеджер клавиатуры и одно из преимуществ его использования, что это удобная небольшая функция.

Теперь объект cursors заполнен четырьмя свойствами: вверх, вниз, влево, вправо, все они являются экземплярами объекта Phaser.Key. Теперь все что нужно сделать это опрашивать их в цикле обновления.

Несмотря на то, что мы добавили много кода, он должен быть довольно читаемым. Первое, что мы делаем это обнуляем скорость по горизонтали на спрайте. Затем мы проверяем, если левая клавиша курсора удерживается в нажатом положении. Если мы применяем отрицательную горизонтальную скорость и нажимаем «влево» работает анимация. Если нажата кнопка «вправо» делаем всё наоборот.

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

Прыжок

Заключительная часть кода добавляет возможность прыгать. Курсор вверх отвечает за прыжок. Однако мы так же должны проверить касается ли игрок пола, в противном случае мы могли бы прыгать в воздухе. Если оба этих условия выполнены, мы применяем вертикальную скорость 350. Игрок будет падать на землю автоматически из за значения силы тяжести которую мы к нему применили. Вместе с элементами управления теперь мы имеем игровой мир который мы можем исследовать. Загрузите файл part7.html и попробуйте. Попробуйте поменять значение вертикальной скорости 350, что бы прыгать ниже или выше.

part7

Оригинал.