Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos II / Aula
Agora, exibiremos a pontuação do jogo em um HUD criado por meio da utilização dos componentes UI do Unity. Usaremos as mesmas técnicas aprendidas no jogo Polygonal Rescue para realizar essa tarefa.
Inicialmente, crie um Canvas (GameObject -> UI -> Canvas) chamado “UI” na sua cena. Depois, adicione pelo menos um Text para as moedas coletadas na fase atual, outro para o tempo restante e um terceiro para as moedas coletadas no total. Veja a Figura 18.
Clique duas vezes no UI para visualizá-lo no Scene View e utilize as técnicas estudadas para organizar os objetos Text no Canvas da maneira como deseja que sejam exibidos no jogo. A Figura 19 mostra um exemplo. Lembre-se que o Text exibidor das moedas finais deve ter o componente Text desabilitado (basta desmarcar o checkbox do componente no objeto), pois só é exibido no fim do jogo.
Agora adicione um script chamado AtualizaUI no objeto UI, com o seguinte código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class AtualizaUI : MonoBehaviour {
public Text moedasText;
public Text tempoRestanteText;
public Text modeasTotalText;
// Update is called once per frame
void Update () {
if (GameManager.instancia.finalizado) {
moedasText.enabled = false;
tempoRestanteText.enabled = false;
modeasTotalText.enabled = true;
modeasTotalText.text = GameManager.instancia.pontuacao.ToString() + " moedas coletadas!";
} else {
modeasTotalText.text = "Pontos: " + GameManager.instancia.pontuacao.ToString ();
tempoRestanteText.text = "Tempo restante: " + ((int)(GameManager.instancia.tempo_restante)).ToString ();
}
}
}
O script AtualizaUI precisa que sejam atribuídos os objetos Text para as suas variáveis moedasText, tempoRestanteText e moedasTotalText. Faça isso arrastando esses objetos para os seus respectivos locais no Inspector do UI, como exibe a Figura 20.
Salve e execute o jogo. Se tudo estiver adequado, você verá a quantidade de moedas aumentar quando coletá-las, assim como o tempo restante, como mostra a Figura 21. Ao final do tempo, você verá o total de moedas no centro da tela.
Versão 5.3 - Todos os Direitos reservados