Pozostały nam dwie ostatnie funkcjonalności, które dodamy do gry: zagrażający graczowi wróg do omijania oraz wynik zliczany za zgromadzone gwiazdki. Zacznijmy od wyniku.

Aby to uzyskać wykorzystamy obiekt Text Game. Stwórzmy dwie nowe zmienne, jedna do przechowywania wyniku, a druga do obiektu z wyświetlanym tekstem:

var score = 0;
var scoreText;

Obiekt z wyświetlanym tekstem scoreText ustawiamy w obrębie funkcji create:

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

16 na 16 wyznacza koordynaty gdzie tekst zostanie wyświetlony. 'score: 0' to standardowy tekst do wyświetlenia, pozostały parametr to styl tekstu (wielkość i kolor wypełnienia). Jeżeli nie powiemy Phaserowi jaki font ma użyć, wybrany zostanie standardowo Courier.

Teraz pozostaje nam jeszcze odpowiednio zmodyfikować metodę collectStar tak żeby gracz otrzymywał punkty za zbierane gwiazdki:

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

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

Za każdą gwiazdkę dodawane jest 10 punktów i tekst scoreText jest adekwatnie aktualizowany. Jeżeli uruchomisz plik part9.html zobaczysz spadające gwiazdki i zwiększajacy się wynik gdy je zbierasz.

image

W ostatniej części poradnika dodamy wrogów.