Botones con nombre
Parte de la sección Fundamentos de scripting en Unity del Journey de Unity de Coddy. Lección 14 de 67.
Además de teclas, Unity tiene botones: nombres que aparecen en 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 botón izquierdo del ratón"Fire2": Alt izquierdo o botón derecho del ratón"Submit"y"Cancel": Intro y Escape
Los botones del mando están asociados a los mismos nombres, y las teclas se pueden cambiar en Input Manager sin tocar 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 clic:
void Update()
{
if (Input.GetButtonDown("Fire1"))
{
Debug.Log("Shot!");
}
}El nombre es una cadena, así que un nombre mal escrito 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 de Input Manager.
Desafío
FácilLa rana salta mientras se mantiene pulsado el botón Jump: al pulsar Jump, se eleva hop unidades una vez y, al soltar Jump, vuelve a bajar la misma cantidad. El código inicial ya hace que se eleve, pero provoca un error en cuanto se ejecuta el juego.
Pulsa Play y lee el error en la consola. Corrígelo, añade el aterrizaje al soltar el botón y, después, pulsa Check.
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);
}
}
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos de scripting en Unity
1Tu primer script
Hola, UnityColoca el cuboMuévete en cada fotogramaGira cada segundoDirige con las teclasRepaso: conduce el cubo4Vectores
Sumar vectoresDireccionesEspacio local y globalVelocidad diagonalDistancia entre objetosVector3 es una estructuraRepaso: piloto de dron7Proyecto: Atrapa la estrella
El atrapadorUna estrella fugaz10El ciclo de vida de los scripts
Awake y StartUpdate y LateUpdateOnEnable y OnDisableEl orden del ciclo de vidaRepaso: registrador del ciclo de vida2El Inspector
Campos del InspectorSerializeFieldNúmeros decimales y MathfAtributos del InspectorRepaso: Ascensor5Transformaciones y jerarquía
Padres e hijosEscalaMirar objetosMoverse hacia un puntoRepaso: Luna en órbita8Encontrar cosas
Buscar por nombreEtiquetasBuscar por tipoLas referencias superan a FindEl valor nulo de UnityRepaso: la moneda más cercana11Proyecto: Esquiva los bloques
El corredorBloques que caen6GameObjects y componentes
Referencias en el InspectorObtener un componenteComponentes faltantesAñadir un componenteRequireComponentMostrar y ocultarRepaso: interruptor de luz