Unidade - o botão
Neste capítulo, aprenderemos como inserir elementos de interface do usuário em nosso cenário e como trabalhar com eles.
Vamos começar com um Button. Para inserir um botão, clique com o botão direito em Scene Hierarchy e vá paraCreate → UI → Button. Se você não tiver um Canvas e um EventSystem existentes, o Unity criará um automaticamente para você e colocará o botão dentro do Canvas também.
Lembre-se disso em Overlaymodo de renderização, que é o modo padrão, o tamanho do Canvas é independente do tamanho da câmera. Você pode testar isso clicando noGame aba.
Se você reproduzir a cena, notará que o botão já tem alguma funcionalidade padrão, como detectar quando o mouse está passando sobre ele e mudar de cor quando pressionado.
Um botão requer funcionalidade para ser realmente útil na IU. Essa funcionalidade pode ser adicionada por meio de suas propriedades.
Vamos criar um novo script e chamá-lo ButtonBehaviour.
public class ButtonBehaviour : MonoBehaviour {
int n;
public void OnButtonPress(){
n++;
Debug.Log("Button clicked " + n + " times.");
}
}
Fizemos um método simples que registra quantas vezes apertamos o botão.
Note- Este método tem que ser público; não será notado pela funcionalidade do botão de outra forma.
Vamos criar um GameObject vazio e anexar este script a ele. Fazemos isso porque um botão não faz nada por conta própria; ele apenas chama o método especificado em seu script.
Agora, vá para as propriedades do botão e encontre o OnClick() propriedade.
Clique no ícone + na guia inferior e uma nova entrada deve aparecer na lista.
Essa entrada define em qual objeto o botão pressionado atua e qual função do script desse objeto é chamada. Devido ao sistema de eventos usado ao pressionar o botão, você pode acionar várias funções simplesmente adicionando-as à lista.
Arraste e solte o GameObject vazio, que contém o ButtonManager script que criamos, no None (Object) slot.
Navegue no No Function lista suspensa e procure nosso OnButtonPressmétodo. (Lembre-se de que ele pode ter o nome que você quiser, OnButtonPress é simplesmente uma convenção de nomenclatura padronizada.) Você deve encontrá-lo noButtonBehaviour seção.
Se você jogar o jogo agora, você pode testar o botão e, com certeza, o console imprime quantas vezes você pressionou o botão.