Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos II / Aula

arrow_back Aula 15 - Jogo Farm Coins - Parte 2

Acumulando e Exibindo a Pontuação

Acumulando a Pontuação

Inicialmente, crie um GameObject vazio chamado “GameManager” e adicione nele um novo script também com o nome “GameManager”. Esse script deve ter o seguinte código, igual ao do jogo Polygonal Rescue:

Listagem 2 - Código do GameManager.cs

O script GameManager tem a variável “pontuacao”, que acumula a pontuação atual do jogador; a variável tempo_restante, que guarda quantos segundos restam para finalizar a fase; a variável boelana “finalizado”, que informa se o jogo finalizou ou não; e também a variável “instancia”, que é marcada como static e é do tipo GameManager (o próprio tipo da classe). A variável “instancia” guardará uma referência à única instância do GameManager existente no jogo e capaz de ser acessada diretamente pelo comando GameManager.instancia. O método Awake garante a existência de somente uma instância do GameManager, armazenando sua referência na variável “instancia”, assim como executando o comando DontDestroyOnLoad, o qual indica que o GameManager será mantido na memória mesmo se uma nova cena for carregada (na mudança de fase, por exemplo). O método Update() é responsável por decrementar a variável tempo_restante e setar a variável “finalizado” para true caso o tempo se esgote. Lembrando: esse padrão de projetos que mantém sempre apenas uma instância de uma classe na memória é chamado de Singleton.

Agora precisamos somente fazer uma adaptação no script ColetaMoedas.cs para ele executar o comando GameManager.instancia.pontuacao++ toda vez que uma moeda for coletada.

O código final do ColetaMoedas.cs segue abaixo:

Listagem 3 - Código do ColetaMoedas.cs acumulando a pontuação no GameManager.

Veja agora um vídeo que mostra como adaptar o sistema de acúmulo de pontuação quando o jogador coleta moedas. Esse sistema também foi criado anteriormente no jogo Farm Coins.

Versão 5.3 - Todos os Direitos reservados