O que veremos aqui?
Neste post, mostrarei como contabilizar as moedas que o jogador pegar durante o jogo.
Como contabilizar moedas?
De uma maneira simples, contabilizar moedas é basicamente incrementar um contador de moedas e exibir os resultados.
O primeiro passo então é criar um contador de moedas no jogo. Fora de qualquer função então, logo abaixo da função window.onload, crie uma variável que conterá o objeto de texto e outra para conter a contagem das moedas capturadas com valor 0:
window.onload = function() { // Cria o cenário com 1220 x 600 px game = new Phaser.Game(1000, 640, Phaser.AUTO, '', { preload: carregaAssets, create: criaCenario, update: atualizaJogo }); }; // Objeto para exibir texto de moedas var textoMoedas; // Contador de moedas var contadorMoedas = 0; // Demais código abaixo...
Como essas variáveis estão fora de qualquer função, recebem o nome de variáveis globais, ou seja, podem ser acessadas de qualquer lugar no código do jogo.
Feito isso, crie a função chamada criaTextoPontuacao. Ela será responsável por criar o objeto textoMoedas que será onde aparecerá para o jogador o contador das moedas que ele pegar.
Essa função deve ser criada no final do código (assim como qualquer outra função do jogo).
/** * Função que cria texto de pontuação do jogo */ function criaTextoPontuacao(){ // Cria imagem genérica var myBitmap = game.add.bitmapData(200, 40); // Define fundo myBitmap.context.fillStyle = "#FFFFFF"; // Desenha retângulo myBitmap.context.fillRect(0,0,200,40); // Cria sprite e adiciona-a no jogo sprite = game.add.sprite(20, 20, myBitmap); // Faz sprite seguir câmera sprite.fixedToCamera = true; // Cria texto para exibir pontuação do usuário textoMoedas = game.add.text(25, 30, "Pontuação: " + contadorMoedas + " moedas" , { font: "18px Arial", fill: "#", align: "left" }); // Faz texto seguir câmera textoMoedas.fixedToCamera = true; }
Dentro da função criaCenario, você deve chamar a função anteriormente criada. Chamar uma função consiste em inserir seu nome, abre e fecha parênteses, seguido de ponto e vírgula:
function criaCenario(){ // código que havia aqui... // Chama função criaTextoPontuacao criaTextoPontuacao(); }
Agora, basta criar a função que irá incrementar o contador, e exibir o novo valor de moedas capturadas na tela do jogador:
/** * Incrementa contador de moedas e exibe novo valor para jogador */ function contabilizaMoedas(){ // Incrementa contador contadorMoedas++; // Atualiza texto textoMoedas.setText('Pontuação: ' + contadorMoedas + ' moedas'); }
E por fim, a função contabilizaMoedas deve ser chamada toda vez que uma moeda for capturada. Edite então a função encostouEmMoeda e adicione uma chamada à função contabilizaMoedas:
function encostouEmMoeda(player, moeda) { // ... código que já estava aqui // Contabiliza moedas contabilizaMoedas(); }
O resultado final você confere na imagem abaixo:
Desta maneira simples, podemos agora saber quantas moedas o jogador conseguiu capturar durante o jogo. Simples não?
Jogo em ação
Aqui você pode ver o código que implementamos funcionando. Neste link você pode baixar esta versão do jogo:
O que vem por aí?
No próximo post veremos como matar o inimigo pulando em cima dele.
Até breve!
achei muito locooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo