Отскакивания

Вы читаете английскую версию этой статьи, так как пока нет перевода на данный язык. Помогите нам перевести эту статью!

Это 6 урок из 16 Руководства разработки игры с помощью Phaser. Вы можете найти исходный код того как должен выглядеть код после завершения урока здесь: Gamedev-Phaser-Content-Kit/demos/lesson06.html.

Теперь, когда мы познакомились с физикой, мы можем начать реализовывать определение столкновений в игре — сначала посмотрим на "стены".

Отскакивание от границ представления

Самый простой способ заставить мячик от стен это сообщить фреймворку что мы хотим рассматривать границы элемента <canvas> как стены и не позволять мячу проходить через них. В Phaser это может быть просто реализовано с помощью свойства collideWorldsBound. Добавьте этот код сразу после существующего вызова метода game.physics.enable():

ball.body.collideWorldBounds = true;

Теперь мяч будет останавливаться у границ экрана, вместо того чтобы исчезать, но он не отскакивает. Чтобы это происодило нам нужно установить его "отскакиваемость". Добавте следующий код ниже предыдущей строки:

ball.body.bounce.set(1);

Попробуйте перезагрузить index.html опять — теперь мяч отскакивает от стен и движется внутри холста canvas.

Сравните ваш код

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

Следующие шаги

Это начинает больше походить на игру, но мы никак не можем её контролировать — самое время добавить рычаги управления для игрока.