GLOBAL STRUCT joy

STRUCT joy;
    left; // Control izquierda
    right; // Control derecha
    up; // Control arriba
    down; // Control abajo
    button1; // Primer botón
    button2; // Segundo botón
    button3; // Tercer botón
    button4; // Cuarto botón
END

Esta estructura global sirve para controlar el joystick (palanca de juegos); contiene una serie de campos lógicos relacionados con la programación de este dispositivo que son el estado de los botones (si se encuentran pulsados o no) y el estado de las cuatro direcciones de control principales.

Para acceder a estos campos se debe preceder el nombre del campo por la palabra joy y el símbolo . (punto), por ejemplo, para acceder al campo left (que indica si se está pulsando el control izquierda) se debe utilizar joy.left.


left - Este campo estará a 1 cuando el joystick esté orientado hacia la izquierda, y a 0 en caso contrario.

right - Este campo estará a 1 cuando el joystick esté orientado hacia la derecha, y a 0 en caso contrario.

up - Este campo estará a 1 cuando el joystick esté orientado hacia arriba, y a 0 en caso contrario.

down - Este campo estará a 1 cuando el joystick esté orientado hacia abajo, y a 0 en caso contrario.

Por ejemplo, para realizar en un programa una acción cuando se mueva el joystick hacia la derecha (joy.right) se debe incluir en el código una sentencia como la siguiente:

  IF (joy.right)
    // Acción a realizar (sentencias)
  END

Para las posiciones en diagonal se deben comprobar los dos campos que conforman esa diagonal; por ejemplo, para realizar una acción cuando el joystick esté en la diagonal superior derecha se utilizará la siguiente sentencia:

  IF (joy.up AND joy.right)
    // Acción a realizar (sentencias)
  END


button1, button2, button3 y button4 - Estos campos indican el estado de hasta cuatro botones del joystick, estando a 1 cuando el botón respectivo esté pulsado, y a 0 cuando no lo esté.

Algunos joystick sólo tienen 2 botones; en este caso, serán los botones número 0 y 1. En ordenadores con dos joystick conectados el segundo joystick tendrá los botones número 2 y 3.


Nota: Cuando se requiera una lectura analógica del joystick (conocer las coordenadas exactas en las que está situada la "palanca" del joystick), se deberá utilizar la función get_joy_position(). Obviamente, esta función será util únicamente en joystick analógicos, no funcionando en los digitales.


Ver: Datos globales - get_joy_position() - get_joy_button()