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

arrow_back Aula 05 - Jogo Polygonal Rescue - Parte 3 - HUD e Pontuação do Jogo

Modificando o Texto da Pontuação

Agora, dispondo da variável que terá a referência do elemento com o texto da pontuação, vamos alterar os scripts para modificar esse texto.

Atenção!

Precisamos fazer a mudança do texto todas as vezes em que a pontuação mudar, então são em dois lugares: no método Start, quando ele é iniciado em zero, e no método OnTriggerEnter, quando um novo polígono é resgatado (coletado).

No método Start, logo depois de alterar o valor da variável pontuacao, adicione o comando:

Isso fará com que o texto na interface mude para “Pontos: XX”, onde XX é o número atual de pontos que está na variável pontuacao. Repare que convertemos pontuacao para string com o métod ToString(). Isso faz com que ela possa ser operada com outras strings com o operador +.

Então adicione o mesmo comando no método OnTriggerEnter, logo após o incremento da variável pontuacao. Assim, toda vez que o valor da variável pontuacao mudar o texto também mudará. A Figura 22 mostra as duas linhas adicionadas no script e seu código final.

Congratulations, Game designer! Está praticamente tudo pronto!

Antes de comemorar, lembre-se que falta um pequeno detalhe: a variável pontuacaoUI criada para armazenar uma referência ao objeto Text com o texto da pontuação dentro do canvas não está ainda configurada para ter essa referência. Somente criamos a variável, falta associá-la ao elemento e isso é feito no editor do Unity.

Volte ao Unity, selecione o personagem e repare no componente com o script ColetaItem, nele existe uma propriedade chamada Pontuacao UI que está com “None (Text)” como valor. Essa é a variável criada por nós e “None (Text)” significa que ela está sem referência. Veja em detalhe na Figura 23.

Para corrigir é bastante simples, mantenha o personagem selecionado para que você possa continuar visualizando o seu Inspector. Clique e arraste o Text filho do Canvas (o que tem o nosso texto de pontuação) para cima do valor “None (Text)” da propriedade Pontuacao UI no script ColetaItem.

A Figura 24 mostra a mudança do valor “None (Text)” para “Text (Text)” indicando que atribuímos a referência com sucesso.

Agora está tudo ok! A variável pontuacaoUI está corretamente referenciando o GameObject do tipo Text na interface e as mudanças do seu texto no script afetarão diretamente o que está sendo exibido na tela. Vamos testar iniciando o jogo e resgatando alguns polígonos.

Veja na Figura 25 que o jogo agora está exibindo corretamente a pontuação no canto superior esquerdo da tela e ela se modifica assim que mais um polígono é resgatado.

Isso aí, muito bem! O nosso jogo agora tem o recurso de acumular e exibir a pontuação do personagem corretamente, exibindo o total de polígonos resgatados do labirinto.

Esta aula chegou ao fim e espero que tenham gostado dos aprendizados de hoje e do importante passo que demos em relação ao desenvolvimento do nosso jogo. Lembre-se que qualquer dúvida pode ser esclarecida nos encontros presenciais ou no Moodle. Na próxima aula, aprenderemos a criar objetos reutilizáveis no Unity usando Prefabs. Até lá!

Versão 5.3 - Todos os Direitos reservados