Победа
Это 12 из 16 уроков руководства разработки игры с помощью Phaser. Исходный код этого урока вы можете найти здесь: Gamedev-Phaser-Content-Kit/demos/lesson12.html.
Победа в нашей игре будет достаточно простой: если ты разрушил все кирпичи, то победил.
Как победить?
Добавьте следующий код в функцию ballHitBrick()
:
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
у каждого кирпича и, если все кирпичи разрушены, выведем всплывающее окно с текстом о победе. После закрытия этого окна, страница перезагрузится.
Сравните свой код
Вы можете проверить код из этого урока и поиграть с ним, чтобы лучше понять, как он работает:
Следующий шаг
Логику проигрыша и выигрыша мы сделали, так что, основная часть игры готова. Теперь давайте добавим какую-нибудь фишку — дадим игроку три жизни, вместо одной.