Botones con nombre
Parte de la sección Fundamentos de scripting en Unity del Journey de Unity de Coddy. Lección 21 de 85.
Además de las teclas, Unity tiene botones: nombres que aparecen en el Input Manager (Edit, Project Settings, Input Manager), cada uno asociado a una o más teclas. Input.GetButtonDown("Fire1") pregunta por el nombre, no por una tecla. Un proyecto nuevo tiene estos:
"Jump": barra espaciadora"Fire1": Ctrl izquierdo o el botón izquierdo del ratón"Fire2": Alt izquierdo o el botón derecho del ratón"Submit"y"Cancel": Enter y Escape
Los botones del mando están asociados a los mismos nombres, y las teclas se pueden cambiar en el Input Manager sin modificar el código. GetButton, GetButtonDown y GetButtonUp funcionan como GetKey, GetKeyDown y GetKeyUp. Este bláster registra un disparo por cada pulsación de Ctrl o cada clic:
void Update()
{
if (Input.GetButtonDown("Fire1"))
{
Debug.Log("Shot!");
}
}El nombre es una cadena, así que un nombre mal escrito se compila. Unity lo busca cuando se ejecuta la línea y, si ningún botón tiene ese nombre, lanza una excepción en cada fotograma: ArgumentException: Input Button Fier1 is not setup. Cuando veas ese mensaje, compara el nombre de tu código con la lista del Input Manager.
Desafío
FácilArregla el salto de la rana y haz que vuelva a aterrizar.
- Pulsa «Jugar»: la Consola muestra un error sobre el botón
"Jumpp". Cámbialo por"Jump". - Añade un segundo
ifconInput.GetButtonUp("Jump")que restenew Vector3(0, hop, 0)detransform.position.
Pulsa «Jugar», mantén pulsada la barra espaciadora y suéltala: la rana salta hacia arriba y después aterriza. Luego, pulsa «Comprobar».
Pruébalo tú mismo
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 las lecciones de Fundamentos de scripting en Unity
1Conceptos básicos de C# en Unity
Hola, UnityVariablesLos decimales necesitan una fTexto en la consolaVariables que recuerdanIf y ElseComparar númerosRepaso: Recolector de monedas7Bucles y métodos
Repetir con forBucles dentro de buclesEscribir un métodoMétodos que respondenArraysRepaso: escalera10Encontrar cosas
Buscar por nombreEtiquetasBuscar por tipoLas referencias vencen a FindEl null de UnityRepaso: moneda más cercana13Proyecto: Esquiva los bloques
El corredorBloques desde el cielo2Haz que se mueva
Coloca el cuboMuévelo en cada fotogramaGira cada segundoDirige con las teclasRepaso: conduce el cubo5Vectores
Sumar vectoresDireccionesEspacio local y mundialVelocidad diagonalDistancia entre objetosVector3 es una estructuraRepaso: piloto de dron8GameObjects y componentes
Referencias en el InspectorObtener un componenteComponentes faltantesAñadir un componenteRequireComponentMostrar y ocultarRepaso: interruptor de luz3El Inspector
Campos del InspectorSerializeFieldFloats y MathfAtributos del InspectorRepaso: Ascensor6Transformaciones y jerarquía
Padres e hijosIza la banderaEscalaMira las cosasMuévete hacia un puntoRepaso: Luna en órbita9Proyecto: Atrapa la estrella
El cazadorUna estrella fugaz12El ciclo de vida de un script
Awake y StartUpdate y LateUpdateOnEnable y OnDisableEl orden del ciclo de vidaRepaso: registrador del ciclo de vidaPractica por tu cuenta: Playground de Unity