Счёт

В нашей игре не хватает еще двух вещей: врага, которого следует избегать, потому что он может убить нашего персонажа, и счёта за звезды, которые собирает игрок. Сначала остановимся на второй задаче: Для этого мы будем использовать текстовый игровой объект. Мы создадим две новые переменные: одну для хранения текущего счета, а вторую для хранения самого текстового объекта:

var score = 0;
var scoreText;

Значение переменной ScoreText задается в функции create:

scoreText = this.add.text(16, 16, 'score: 0', { fontSize: '32px', fill: '#000' });

«16, 16» - это координата для отображения текста. «score: 0» - это строка по умолчанию для отображения, а следующий объект содержит размер шрифта и цвет заливки. Мы не указали, какой шрифт мы хотим использовать, поэтому Phaser будет использовать шрифт по умолчанию, Courier. Далее нам нужно изменить функцию collectStar таким образом, чтобы, когда персонаж получает звезду, счет увеличивался, а текст обновлялся:

function collectStar (player, star)
{
    star.disableBody(true, true);

    score += 10;
    scoreText.setText('Score: ' + score);
}

Мы добавляем 10 баллов за каждую звезду, а текст ScoreText обновляется, чтобы показать новый общий балл. Если вы запустите part9.html, вы увидите, что звезды падают, и после их сбора счет увеличивается. В заключительной части мы добавим несколько злодеев.

Назад       Далее