弹跳

这是 Gamedev Phaser 教程 的 16 个步骤中的第 6 步。现在我们已经介绍了物理引擎,可以开始在游戏中实现碰撞检测了——首先我们来看墙壁。

从世界边界反弹

让我们的球从墙壁反弹的最简单方法是告诉框架,我们将 <canvas> 元素的边界视为墙壁,不允许球越过它们。在 Phaser 中,这可以通过 `setCollideWorldBounds()` 方法轻松实现。将此行添加到现有的 `this.ball.body.setVelocity()` 方法调用之后。

js
this.ball.body.setCollideWorldBounds(true, 1, 1);

第一个 `true` 参数告诉 Phaser 启用与世界边界的碰撞检测,而后面的两个 `1` 分别是 x 轴和 y 轴的弹力系数。这意味着当球碰到墙壁时,它会以撞击前的速度反弹回来。尝试再次重新加载 index.html — 现在您应该能看到球在所有墙壁之间反弹,并在画布区域内移动。

Compare your code

这是您到目前为止应该看到的效果,实时运行。要查看其源代码,请单击“播放”按钮。

后续步骤

现在这看起来有点像个游戏了,但我们还无法控制它——是时候引入 玩家挡板和控制 了。