Skip to content

Latest commit

 

History

History
44 lines (28 loc) · 2.06 KB

File metadata and controls

44 lines (28 loc) · 2.06 KB
title slug
Game over
Games/Tutorials/2D_breakout_game_Phaser/Game_over

{{GamesSidebar}}

{{PreviousNext("Games/Workflows/2D_Breakout_game_Phaser/Player_paddle_and_controls", "Games/Workflows/2D_Breakout_game_Phaser/Build_the_brick_field")}}

这是Gamedev Phaser 教程 16 的第 8 步。在Gamedev-Phaser-Content-Kit / demos / lesson08.html完成本课后,你可以找到源代码。

为了使游戏更有趣,我们可以引入失去的能力 - 如果在到达屏幕底部边缘之前没有击球,那么这个游戏将会结束。

如何输

为了提供丢失的能力,我们将禁用球与屏幕底部的碰撞。在create()函数内添加下面的代码; 刚刚定义球的属性就好了:

game.physics.arcade.checkCollision.down = false;

这将使三个墙壁(顶部,左侧和右侧)弹回球,但是第四个(底部)将消失,如果桨错过,则球从屏幕上脱落。我们需要一种方法来检测并相应地采取行动。在以前的新的下方添加以下行:

ball.checkWorldBounds = true;
ball.events.onOutOfBounds.add(function () {
  alert("Game over!");
  location.reload();
}, this);

添加这些行将使得球检查世界(在我们的例子中是画布)边界并执行绑定到onOutOfBounds事件的函数。当你点击生成的警报时,页面将被重新加载,以便你可以再次播放。

比较你的代码

你可以在下面的现场演示中查看本课程的完成代码,并使用它来更好地了解它的工作原理:

{{JSFiddleEmbed("https://jsfiddle.net/end3r/436bckb7/","","400")}}

下一步

现在的基本游戏就是让我们通过引入砖块来更有趣的是 - 现在是建造砖块的时候了。

{{PreviousNext("Games/Workflows/2D_Breakout_game_Phaser/Player_paddle_and_controls", "Games/Workflows/2D_Breakout_game_Phaser/Build_the_brick_field")}}