Navigation

Parte 9 - Puntos y puntuación

Published on 20th February 2018

Hay dos toques finales que vamos a añadir a nuestro juego: un enemigo para complicar el juego y una puntuación cuando se recojan las estrellas. Primero, la puntuación.

Para ello usaremos un objeto Phaser de tipo texto. Aquí creamos dos nuevas variables, una para la puntuación real y otra para el propio objeto:

var score = 0;
var scoreText;

La variable scoreText se configura en la función create:

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

16 x 16 son las coordenadas donde se verá el texto. 'score: 0' es la cadena predeterminada a mostrar y el objeto json que sigue indica el tamaño de fuente y un color de relleno. Al no especificar una fuente, Phaser usará, por defecto, Courier.

Ahora necesitamos modificar la función collectStar para que cuando el personaje coja una estrella su puntuación aumente y el texto se actualice:

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

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

Se suman 10 puntos por cada estrella y se actualiza la variable scoreText para mostrar este nuevo total. Si ejecuta el archivo part9.html verá caer las estrellas y la puntuación aumentará a medida que las recoja.

image

En la parte final vamos a añadir algunos enemigos.