39. Manejo del joystick. (*)

La mayoría de bibliotecas para juegos nos permiten acceder al estado del joystick. Típicamente podremos saber si hay algún joystick conectado, si se ha pulsado algún botón de disparo y cómo de inclinado está un "eje" (por ejemplo, si está centrado, un poco inclinado hacia la derecha o muy inclinado hacia la derecha). Habitualmente, para los ejes que tienen dos sentidos, como el derecha-izquierda y el arriba-abajo, obtendremos un valor entre -128 y +127 (0 sería el centro, los valores negativos representarían un sentido y los valores positivos indicarían el sentido contrario); en los ejes que sólo tienen un sentido, como el acelerador de un volante, obtendríamos un valor entre 0 y 255.

Esto es así para los joystick (o gamepad) analógicos, en los que la inclinación puede tener valores intermedios. En un joystick (o gamepad) digital, en los que en cada dirección sólo existe dos posibilidades (inclinado o no inclinado), puede que obtengamos directamente el valor máximo (-128, por ejemplo) o puede que tengamos la posibilidad de acceder al estado (inclinado o no) igual que si se tratara de botones de disparo.

Como nuestros juegos serán sencillos, y no necesitaremos medir la inclinación del joystick para que el personaje se mueva más deprisa, sino que nos bastará con saber en qué dirección se ha inclinado, para desplazarlo en esa dirección, ampliaremos la clase "Hardware" con funciones que nos digan si el joystick se ha inclinado a la derecha o a la izquierda, si se ha pulsado un botón, etc.


(Pronto disponible)