GLOBAL scan_code

scan_code=0; // Código de rastreo de la última tecla pulsada


Esta variable global indica siempre el código de rastreo (scan code) de la última tecla pulsada en la última imagen del juego.

La variable scan_code estará a 0 si no se ha pulsado ninguna tecla en la imagen anterior del juego.

Se utiliza muchas veces esta variable para esperar en un programa a que el usuario pulse una tecla (cualquiera), con una sentencia como la siguiente:

  WHILE (scan_code == 0)
      FRAME;
  END

Esta sentencia indica que mientras no se haya pulsado una tecla en la imagen anterior (mientras scan_code sea igual a 0), se deben seguir visualizando imágenes del juego.

Los códigos de rastreo son simplemente una relación numérica de las teclas del PC; estos códigos pueden variar ligeramente (en alguna tecla) de un teclado a otro, ya que hay teclados de diferentes idiomas, con un número variado de teclas, etc.

Sin embargo, se mantienen constantes casi todos los códigos de las principales teclas. Hay predefinida una lista de constantes (sinónimos para estos códigos) en el lenguaje que se puede ver accediendo a la ayuda sobre códigos de teclas (o códigos de rastreo del teclado); son, precisamente, estos valores numéricos los que serán asignados a la variable scan_code cuando las respectivas teclas sean pulsadas en el programa.


Importante: Existe otra variable global predefinida, denominada ascii, que también contiene el código de la última tecla pulsada pero, a diferencia de scan_code, ésta última guarda el código ASCII (carácter) generado por la tecla, es decir, indica qué carácter ha generado la última tecla pulsada y no qué tecla ha sido pulsada (como scan_code).

Acceda a la ayuda sobre los códigos de teclas para observar un programa ejemplo con las variables ascii y scan_code.

Normalmente, para comprobar si una tecla está siendo pulsada se utiliza simplemente la función key() del lenguaje, que recibe como parámetro uno de estos códigos de teclas, y devuelve 0 si la tecla no está pulsada o 1 cuando si lo está.


Ver: Datos globales - ascii - key()