Version: 2017.1
Input
Input de Dispositivo Móvil

Input Convencional de Juego

Unity soporta teclado, joystick y gamepad input.

Se pueden crear botones y ejes virtuales en el Input Manager, y los usuarios finales pueden configurar su input de teclado en un dialogo de configuración bonito en la pantalla.

NOTE: This is a legacy image. This Input Selector image dates back to the very earliest versions of the Unity Editor in 2005. GooBall was a Unity Technologies game.
NOTE: This is a legacy image. This Input Selector image dates back to the very earliest versions of the Unity Editor in 2005. GooBall was a Unity Technologies game.

Usted puede configurar joysticks, gamepads, teclado, y mouse, luego acceder a todos con una interfaz simple de scripting. Típicamente usted utiliza los ejes y botones para pretender que es un control de consola. Alternativamente, se puede acceder a las teclas en el teclado.

Virtual Axes (Ejes Virtuales)

Desde los scripts, todos los ejes virtuales son accedidos por su nombre.

Cada proyecto tiene el siguiente eje input por defecto cuando es creado:

  • Horizontal y Vertical son asignados a las teclas w, a, s, d y las teclas de flecha.
  • Fire1, Fire2, Fire3 están asignadas a las teclas Control, Option (Alt), y Command, respectivamente.
  • Mouse X y Mouse Y están asignados al movimiento delta del mouse.
  • Window Shake X y Window Shake Y es asignado al movimiento de la ventana.

Agregando nuevos ejes de Input (Input Axes)

Si usted quiere agregar unos nuevos ejes virtuales vaya al menú Edit->Project Settings->Input. Aquí usted puede también cambiar los ajustes para cada eje.

Usted asigna cada eje con dos botones en un joystick, mouse, o teclas del teclado.

Propiedad: Función:
Name El nombre del string usado para revisar este eje desde un script.
Descriptive Name Nombre de valor positivo mostrado en la pestaña input del dialogo Configuration para construcciones standalone.
Descriptive Negative Name Nombre del valor negativo mostrado en la pestaña Input del dialogo Configuration para construcciones standalone.
Negative Button El botón usado para empujar el eje en la dirección negativa.
Positive Button El botón usado para empujar el eje en la dirección positiva.
Alt Negative Button El botón alternativo usado para empujar el eje en la dirección negativa.
Alt Positive Button El botón alternativo usado para empujar el eje en la dirección positiva.
Gravity Velocidad en unidades por segundo que el eje cae hacia el neutro cuando no hay botones oprimidos.
Dead Tamaño de la zona muerta análoga. Todos los valores de dispositivos análogos dentro de este rango resultan el mapa a neutral.
Sensitivity Velocidad en unidades por segundo que el eje va a moverse hacia el valor de destino. Esto es solo para dispositivos digitales.
Snap Si habilitado, el valor del eje se restablecerá a cero cuando se oprima un botón de la dirección opuesto.
Invert Si está habilitado, los Botones Negativos proporcionan un valor positivo y vice-versa.
Type El tipo de inputs que controlará este eje.
Axis El eje de un dispositivo conectado que controlará este eje.
Joy Num El Joystick conectado que controlará este eje.

Use estos ajustes para ajustar con precisión el aspecto del input. Todos están documentados con tooltips en el Editor también.

Usando Ejes de Input (Input Axes) desde los Scripts

Puede consultar el estado actual de un script de esta manera:

 value = Input.GetAxis ("Horizontal");

Un eje tiene un valor entre –1 y 1. La posición neutral es 0. Este es el caso del Joystick input y el input del teclado.

No obstante, el delta del mouse(Mouse Delta) y el delta del movimiento de la ventana(Window Shake Delta) son cuánto el mouse o la ventana se movió durante el último cuadro. Esto significa que puede ser mayor que 1 o menor que –1 cuando el usuario mueve el mouse rápidamente.

Es posible crear ejes múltiples con el mismo nombre. Cuando obtenga el input del eje, el eje con el mayor valor absoluto va a ser devuelto. Esto hace que sea posible asignar más de un dispositivo input al nombre de un eje. Por ejemplo, cree un eje para un input de teclado y un eje para un input de joystick con el mismo nombre. Si el usuario está usando el joystick, el input vendrá del joystick, de otra manera el input vendrá del teclado. De esta forma, usted no tendrá que considerar de dónde el input viene cuando escriba scripts.

Nombres de Botones

Para mapear una tecla a un eje, usted necesita ingresar el nombre de la tecla en la propiedad Positive Button o Negative Button en el Inspector.

Teclas

Los nombres de la tecla siguen esta convención:

  • Teclas normales: “a”, “b”, “c” …
  • Teclas numéricas: “1”, “2”, “3”, …
  • Teclas de flecha: “Arriba”, “abajo”, “izquierda”, “derecha”
  • Las teclas de teclado: “[1]”, “[2]”, “[3]”, “[+]”, “[equals]”
  • Teclas de modificación: “Derecha shift”, “Izquierda shift”, “Derecha ctrl”, “Izquierda ctrl”, “Derecha alt”, “Izquierda alt”, “Derecha cmd”, “Izquierda cmd”
  • Botones del mouse: “mouse 0”, “mouse 1”, “mouse 2”, …
  • Botones del Joystick (desde cualquier joystick): “joystick botón 0”, “joystick botón 1”, “joystick botón 2”, …
  • Botones del Joystick (Desde un joystick específico): “joystick 1 botón 0”, “joystick 1 botón 1”, “joystick 2 botón 0”, …
  • Teclas especial: “backspace”, “tab”, “return”, “escape”, “space”, “delete”, “enter”, “insert”, “home”, “end”, “page up”, “page down”
  • Teclas funcionales: “f1”, “f2”, “f3”, …

Los nombres utilizados para identificar las teclas son los mismo de la interfaz del scripting y el Inspector.

 value = Input.GetKey ("a");

Tenga en cuenta que las teclas también son accesibles utilizando el parámetro enum KeyCode.

Input
Input de Dispositivo Móvil