游戏结束
这是Gamedev Phaser 教程16 步中的**第 8 步**。您可以在Gamedev-Phaser-Content-Kit/demos/lesson08.html找到完成本课后代码应有的样子。
为了使游戏更有趣,我们可以引入失败的功能——如果你没有在球到达屏幕底部边缘之前击中它,游戏就会结束。
如何失败
为了提供失败的功能,我们将禁用球与屏幕底部边缘的碰撞。在create()
函数中添加下面的代码;在定义球的属性之后添加即可。
js
game.physics.arcade.checkCollision.down = false;
这将使三面墙(顶部、左侧和右侧)将球弹回,但第四面(底部)将消失,如果球拍错过,则让球从屏幕上掉落。我们需要一种方法来检测这种情况并相应地采取行动。在之前的新的代码下方添加以下几行。
js
ball.checkWorldBounds = true;
ball.events.onOutOfBounds.add(() => {
alert("Game over!");
location.reload();
}, this);
添加这些行将使球检查世界(在我们的例子中是画布)边界并执行绑定到onOutOfBounds
事件的函数。当您点击弹出的警报时,页面将重新加载,以便您可以重新开始游戏。
比较您的代码
您可以在下面的实时演示中查看本课的完成代码,并与之互动以更好地了解其工作原理。