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.