Menu
CoddyTech

Botões Nomeados

Parte da seção Noções básicas de scripting no Unity do Journey de Unity da Coddy. Lição 14 de 67.

Além das teclas, o Unity tem botões: nomes listados no Input Manager (Edit, Project Settings, Input Manager), cada um associado a uma ou mais teclas. Input.GetButtonDown("Fire1") consulta o nome, não uma tecla. Um projeto novo tem estes:

  • "Jump": Espaço
  • "Fire1": Ctrl esquerdo ou botão esquerdo do mouse
  • "Fire2": Alt esquerdo ou botão direito do mouse
  • "Submit" e "Cancel": Enter e Escape

Os botões do gamepad estão associados aos mesmos nomes, e as teclas podem ser alteradas no Input Manager sem mexer no código. GetButton, GetButtonDown e GetButtonUp funcionam como GetKey, GetKeyDown e GetKeyUp. Este blaster registra um disparo a cada pressionamento de Ctrl ou clique:

void Update()
{
    if (Input.GetButtonDown("Fire1"))
    {
        Debug.Log("Shot!");
    }
}

O nome é uma string, então um nome escrito incorretamente compila. O Unity procura esse nome quando a linha é executada e, quando não há nenhum botão com esse nome, lança uma exceção a cada quadro: ArgumentException: Input Button Fier1 is not setup. Ao ver essa mensagem, compare o nome no seu código com a lista do Input Manager.

challenge icon

Desafio

Fácil

O sapo pula enquanto o botão Jump está pressionado: ao pressionar Jump, ele sobe hop unidades uma vez e, ao soltar Jump, volta para baixo pela mesma distância. O código inicial já faz o movimento para cima, mas gera um erro assim que o jogo é executado.

Pressione Jogar e leia o erro no Console. Corrija-o, adicione o pouso ao soltar o botão e, em seguida, pressione Verificar.

Experimente você mesmo

using UnityEngine;

public class Hopper : MonoBehaviour
{
    public float hop = 1.5f;

    void Update()
    {
        if (Input.GetButtonDown("Jumpp"))
        {
            transform.position += new Vector3(0, hop, 0);
        }
    }
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Noções básicas de scripting no Unity