DETECCIÓN DE INPUTS
Seguramente en todos los juegos que hagamos queramos detectar el input del usuario, ya sea por teclas, touch de un dispositivo o desde un joystick. Unity cuenta con un script que nos facilita todo ese trabajo en gran manera (aunque nunca vamos a estar conformes y siempre vamos a querer hacer el nuestro). Ese script se llama Input (casualmente como lo que detecta… Ja). Y contiene todo un conjunto de funciones que podemos utilizar. Vamos a empezar con un ejemplo simple, y hagamos que nuestra nave se mueva cuando presiono una tecla, en lugar de moverse continuamente:
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Hero : MonoBehaviour
De esta manera nuestra nave debería moverse únicamente al presionar la flecha derecha, caso contrario debería quedarse quieto. Ahora… Un pequeño ejercicio rápido, pero que puede servir para acostumbrarse a estas estructuras:
Hagan que nuestra nave se mueva en todas las direcciones, tocando cada tecla correspondiente.
Como verán… Esta solución lo que hace es que se pueda mover SOLAMENTE en una dirección. Pero… ¿Qué pasaría si quiero moverme en diagonal? ¿Pueden resolverlo? Intenten!!
Pueden ver cuál era el problema? Básicamente el else if estaba haciendo que se ejecutara una sentencia O LA OTRA, pero no AMBAS. Así que con ese pequeño fix ya podemos corregir eso.