Отскакивания
Это 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.
Сравните ваш код
Вы можете сравнить получившийся код из этого урока в превью и поиграть с ним, чтобы лучше понять как он работает:
Следующие шаги
Это начинает больше походить на игру, но мы никак не можем её контролировать — самое время добавить рычаги управления для игрока.