Dos sistemas de entrada
Parte de la sección Creación de juegos reales del Journey de Unity de Coddy. Lección 43 de 56.
Unity tiene dos formas de leer el teclado y el ratón. La que has usado hasta ahora es el Input Manager: la clase Input con GetKey, GetAxis y GetButtonDown, y los ejes y botones nombrados en Project Settings > Input Manager. El más reciente es el paquete Input System (com.unity.inputsystem). Sus scripts empiezan con using UnityEngine.InputSystem;, y lee los dispositivos como objetos, como Keyboard.current y Mouse.current, y mediante acciones: cosas con nombre que hace el jugador, como Move y Jump, cada una vinculada a teclas, palancas y botones.
Cuál de los dos usa un proyecto es un ajuste de Player: Edit > Project Settings > Player > Other Settings > Active Input Handling, con tres opciones: Input Manager (Old), Input System Package (New) y Both. Un proyecto nuevo de Unity 6 empieza con Input System Package (New), y allí cada llamada a la clase Input lanza una InvalidOperationException que indica que estás leyendo la entrada mediante UnityEngine.Input mientras el proyecto usa el paquete Input System. Por eso las lecciones anteriores te pidieron que eligieras Both. Cambiarlo requiere reiniciar el editor, algo que Unity te ofrece hacer.
Unity 6 empieza con el nuevo sistema porque una API cubre teclados, ratones, mandos, pantallas táctiles y controladores XR, y porque las acciones mantienen las teclas fuera del código: un script lee la acción Jump, y la misma línea funciona para la barra espaciadora, el botón A de un mando o un botón en pantalla de un teléfono, y para un jugador que reasigna la tecla. El antiguo Input Manager se mantiene para proyectos más antiguos. La vista de juego de Coddy funciona como Both, así que las teclas, los clics y el panel del teléfono (flechas y Jump) llegan a ambos sistemas. El resto de este capítulo usa Input System.
Pruébalo tú mismo
Esta lección no incluye un desafío de código.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Creación de juegos reales
1Texto en pantalla
Canvas y textoMuestra la puntuaciónDa formato a los númerosUn temporizador de cuenta regresivaRepaso: velocímetro4Escenas y niveles
Cargar una escenaReiniciar el nivelSiguiente nivelConservar entre escenasRepaso: selección de nivel10Proyecto: plataformas 3D
El recorridoPlataformas móviles2Botones y pantallas
Botones y onClickLambdasConectar en el InspectorPaneles activados y desactivadosBarras de saludRepaso: tienda de mejoras5Guardar con PlayerPrefs
Guardar un númeroCargar con un valor predeterminadoPuntuación más altaGuardar ajustesRepaso: monedas en el banco3El gestor del juego
Un solo script ejecuta el juegoEl SingletonEstados del juegoActivar el estadoRepaso: gestor de rondas6Proyecto: corredor infinito
Tres carrilesObstáculos por delante9El nuevo sistema de entrada
Dos sistemas de entradaTeclado y ratónPulsado en este fotogramaAcciones de entradaRepaso: cambio de entrada