Botões Nomeados
Parte da seção Fundamentos de Scripting no Unity do Journey de Unity da Coddy. Lição 21 de 85.
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") verifica 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 ainda compila. O Unity o procura quando a linha é executada e, quando nenhum botão tem esse nome, lança uma exceção a cada quadro: ArgumentException: Input Button Fier1 is not setup. Quando vir essa mensagem, compare o nome no seu código com a lista do Input Manager.
Desafio
FácilCorrija o salto do sapo e faça com que ele pouse novamente.
- Pressione “Jogar”: o Console mostra um erro sobre o botão
"Jumpp". Altere para"Jump". - Adicione um segundo
ifemInput.GetButtonUp("Jump")que subtraianew Vector3(0, hop, 0)detransform.position.
Pressione “Jogar”, mantenha a tecla Espaço pressionada e solte-a: o sapo salta para cima e depois pousa. 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);
}
}
}
Todas as lições de Fundamentos de Scripting no Unity
1Fundamentos de C# no Unity
Olá, UnityVariáveisDecimais precisam de um fTexto no ConsoleVariáveis que guardam valoresIf e ElseComparar númerosRevisão: Coletor de Moedas7Laços e Métodos
Repita com forLaços dentro de laçosEscreva um métodoMétodos que respondemArraysRevisão: Escada10Encontrando coisas
Buscar pelo nomeTagsBuscar por tipoReferências são melhores que FindO null do UnityRevisão: moeda mais próxima13Projeto: Desvie dos Blocos
O CorredorBlocos do Céu2Faça-o se mover
Posicione o cuboMova a cada quadroGire a cada segundoDirija com as teclasRecapitulando: dirija o cubo5Vetores
Somando vetoresDireçõesEspaço local e globalVelocidade diagonalDistância entre objetosVector3 é uma structRevisão: piloto de drone8GameObjects e Componentes
Referências no InspectorObter um componenteComponentes ausentesAdicionar um componenteRequireComponentMostrar e ocultarRevisão: Interruptor de luz6Transformações e hierarquia
Pais e filhosIçar a bandeiraEscalaOlhar para as coisasMover-se em direção a um pontoRevisão: Lua em órbita9Projeto: Pegue a Estrela
O PegadorUma Estrela CadentePratique por conta própria: Playground de Unity