Win the game
page(Doc) not found /zh-CN/docs/Games/Workflows/2D_Breakout_game_Phaser/The_score
这是Gamedev Phaser 教程 16 的第 12 步。你可以在Gamedev-Phaser-Content-Kit / demos / lesson12.html完成本课程后找到源代码。
在我们的游戏中实现获胜是相当容易的:如果你碰巧摧毁所有的砖块,那么你赢了。
如何取胜?
将以下新代码添加到你的ballHitBrick()
函数中:
js
function ballHitBrick(ball, brick) {
brick.kill();
score += 10;
scoreText.setText("Points: " + score);
var count_alive = 0;
for (i = 0; i < bricks.children.length; i++) {
if (bricks.children[i].alive == true) {
count_alive++;
}
}
if (count_alive == 0) {
alert("You won the game, congratulations!");
location.reload();
}
}
我们循环使用组中的砖块bricks.children
,检查每个砖块的.alive()
方法的活力。如果没有更多的砖块活着,那么我们会显示一个获胜的消息,一旦警报被关闭,重新启动游戏。
比较你的代码
你可以在下面的现场演示中查看本课程的完成代码,并使用它来更好地了解它的工作原理:
下一步
失败和获胜都是实施的,所以我们的游戏的核心游戏就完成了。现在让我们添加一些额外的东西 - 我们会给玩家将 3 个生活的,而不是一个。
page(Doc) not found /zh-CN/docs/Games/Workflows/2D_Breakout_game_Phaser/The_score