弹跳墙壁
这是 Phaser 游戏开发教程 的第 6 步,共 16 步。你可以在 Gamedev-Phaser-Content-Kit/demos/lesson06.html 找到完成本课后代码应该是什么样子。
现在物理引擎已经引入,我们可以开始在游戏中实现碰撞检测 - 首先,我们将看看墙壁。
从世界边界弹跳
让球从墙壁上弹跳的最简单方法是告诉框架我们希望将 <canvas>
元素的边界视为墙壁,并且不让球穿过它们。在 Phaser 中,可以使用 collideWorldsBound
属性轻松实现这一点。在现有的 game.physics.enable()
方法调用之后添加此行
js
ball.body.collideWorldBounds = true;
现在球会在屏幕边缘停止而不是消失,但它不会弹跳。要使其发生弹跳,我们必须设置其弹性。在上一行下方添加以下行
js
ball.body.bounce.set(1);
再次重新加载 index.html - 现在你应该会看到球从所有墙壁上弹跳并在画布区域内移动。
比较你的代码
你可以在下面的实时演示中查看本课的完整代码,并与之交互以更好地理解其工作原理