赢得游戏
这是 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}`);
let count_alive = 0;
for (let i = 0; i < bricks.children.length; i++) {
if (bricks.children[i].alive) {
count_alive++;
}
}
if (count_alive === 0) {
alert("You won the game, congratulations!");
location.reload();
}
}
我们使用 bricks.children
遍历组中的砖块,使用每个砖块的 .alive()
方法检查每个砖块是否还活着。如果没有剩余的砖块还活着,那么我们将显示获胜消息,并在警报消失后重新开始游戏。
比较您的代码
您可以在下面的实时演示中查看本课的完整代码,并与之交互以更好地了解其工作原理