{ Joystick para Android hecho en Unity, Movimiento Horizontal + 1 Botón } – Paquete Unity 📎

He añadido un nuevo paquete para 
Unity a esta lista de reproducción,   que tenés acá en la esquina.
En esta ocasión les traigo este   Joystick para Android, que quizás también 
sirva para IOS solo que no lo he probado.   Algo bueno que tiene este Joystick es que también 
responde a las entradas de teclado y del mouse,   así que se puede probar en el editor de 
Unity sin necesidad de una entrada táctil.   Acá en la tarjeta de la esquina tienen 
el link para descargar este joystick.  En el paquete de descarga van a encontrar los 
Assets necesarios para el funcionamiento del   Joystick, estos tres de aquí y luego hay una 
escena donde está montado el joystick y se   utiliza para controlar un cubo a modo de ejemplo.
Para montar el joystick simplemente hay que añadir   este prefabricado a un Canvas, aquí voy 
a crear un Canvas nuevo y voy configurar   el escalador de Canvas en “Scale With Screen 
Size” y le pongo la resolución de referencia   con la que voy a trabajar.

Luego arrastro el 
prefabricado del Joystick como hijo del Canvas.   Con esto ya se puede empezar a utilizar.
La idea es que el Joystick se encarga de   hacer la lectura de las entradas que 
haga el jugador y nosotros vamos a   programar un script de control del personaje, 
un coche o lo que sea que queramos controlar,   simplemente haciéndole preguntas al Joystick.
Básicamente le vamos a preguntar dos cosas,   la primera es el valor del eje horizontal, 
un valor que va a depender de las flechas,   va a ser 0 si no se pulsan las flechas o si 
se pulsan ambas a la vez, va a valer -1 si   se pulsa la flecha izquierda y +1 si se pulsa 
la flecha de la derecha.

Entonces usando este   valor del eje horizontal se construye 
el Script de control de movimiento.  Lo segundo que le vamos a preguntar al Joystick 
es si se pulsa el botón de interacción,   esto funciona exactamente igual que cuando 
queremos saber si se pulsa una tecla en un   determinado frame, en ese caso se usa por ejemplo 
la función GetKeyDown de la clase Input y en   este vamos a usar una función que he llamado 
IsInteractionDown y está dentro de la clase   joystick.

Si eso nos devuelve verdadero significa 
que se ha pulsado el joystick en ese frame.  Esa es la idea de cómo se utiliza el 
Joystick, en el paquete tienen un script   llamado PlayerExample en donde utilizo el 
Joystick para mover al cubo y hacer que salte.  Dentro del Script de control, lo más importante 
es definir una variable tipo Joystick,   aquí lo estoy haciendo en esta línea, y luego 
en la función Start tenemos que inicializar   la variable Joystick con esta instrucción. 
Recuerden que el prefabricado del Joystick   tiene que estar en la jerarquía, sino van a tener 
un error porque Unity no lo puede encontrar.  Y para el que le interesa saber qué es esto que 
estoy haciendo en la línea 19, aquí en la tarjeta   de la esquina dejo la lista de reproducción 
de la serie sobre encontrar las referencias   de GameObjects y componentes en Unity, este 
método en particular se ve en el vídeo 9.  Una vez hecho todo esto, ya se puede utilizar 
el Joystick a través de esta variable que hemos   definido, si queremos saber cuánto vale el eje 
horizontal hacemos: joystick.GetHorizontalAxis,   abrir y cerrar paréntesis.

Y si queremos saber 
si se ha pulsado el botón de interacción hacemos   joystick.IsInteractionDown, 
abrir y cerrar paréntesis.  Esas dos funciones son todo lo que se 
necesita saber para empezar a usar el   Joystick, lo que sigue a partir de ahora va 
a depender de ustedes, del tipo de control   que quieran hacer o cómo lo quieran implentar.
Algo muy importante es que la lectura de este   Joystick en particular hay que hacerla en la 
función Update, sino pueden surgir problemas.  Aquí a modo de ejemplo estoy multiplicando 
el valor del eje horizontal por una velocidad   ajustable en el inspector y eso lo guardo la 
variable currentSpeed, que luego se lo puedo   asignar a un Rigidbody como velocidad o también 
se puede realizar el movimiento a través de la   clase Transform. Para el salto lo que hago es leer 
el estado del botón de interacción y si resulta   verdadero simplemente le aplico una velocidad en 
el eje vertical.

Pero como les dije, toda esta   parte va a depender de lo que ustedes necesiten.
Eso es todo lo que quería mostrarles, recuerden   que se pueden descargar esta solución con el link 
en la tarjeta de la esquina o en la descripción.   Aquí a la izquierda dejo otro videito y a la 
derecha una lista con soluciones para Unity   que se pueden descargar e importar. No olviden 
suscribirse y nos vemos el próximo vídeo! Chau!.

As found on YouTube

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *