从世界边界反弹
让球从墙壁反弹的最简单方法是告诉框架,我们要将 <canvas> 元素的边界视为墙壁,不让球移出边界。在 Phaser 中,可以使用 setCollideWorldBounds() 方法轻松实现这一点。在现有的 this.ball.body.setVelocity() 方法调用之后添加此行:
js
this.ball.body.setCollideWorldBounds(true, 1, 1);
true 告诉 Phaser 启用与世界边界的碰撞检测,而两个 1 分别是 x 轴和 y 轴上的反弹系数。这意味着当球碰到墙壁时,它会以碰到墙壁之前的相同速度反弹。再次尝试重新加载 index.html——现在你应该会看到球从所有墙壁反弹,并在画布区域内移动。
比较你的代码
以下是你目前应该得到的结果,可以实时运行。若要查看其源代码,请点击“运行”按钮。
下一步
现在开始看起来更像是一个游戏了,但我们还无法以任何方式操控它——是时候介绍玩家挡板和操控了。