Los eventos del teclado
En este apartado vamos a ver como detectar la pulsación de una determinada tecla sin que se pare la ejecución del programa. En el vídeo adjunto mantenemos la tortuga en movimiento y cambiamos su dirección accionando las teclas 4 y 6 del teclado numérico (flechaIzquierda y flechaDerecha).
ponFoco [FMSLogo] | |
Pone el foco (activa) la ventana gráfica de FMSLogo. Esta instrucción es necesaria como paso previo para activar los eventos del teclado. | |
habilitaTeclado [instrucciones al pulsar] | |
Activa los eventos del teclado. Cada vez que pulsemos una tecla Logo detendrá lo que esté haciendo en ese momento y ejecutará las instrucciones y/o procedimientos escritos en el corchete, después continuará con el trabajo que había parado. | |
Ejemplo: ;cada vez que pulsemos cualquier tecla ;la tortuga gira 20º a la derecha. ponFoco [FMSLogo] habilitaTeclado [gd 20] |
|
;al pulsar una tecla se ejecuta ;el procedimiento controlTeclado para ejemploTeclado ponFoco [FMSLogo] habilitaTeclado [controlTeclado] ------------ fin para controlTeclado ------------ fin |
|
inhabilitaTeclado | |
Desactiva los eventos del teclado. | |
leeTecla | |
Devuelve el código ASCII (número entre 1 y 127) de la última tecla pulsada. | |
car código ASCII | |
Devuelve el carácter (letra, número, signo,...) correspondiente al código ASCII indicado | |
car leeTecla | |
Utilizando conjuntamente las dos instrucciones anteriores obtenemos el carácter de la última tecla pulsada. Si lo guardamos en una variable podemos preguntar por su valor y ejecutar las instrucciones asociadas con la pulsación de una determinada tecla. |
|
Ejemplo ;sólo si pulsamos la tecla "d" la tortura gira 20 grados para ejemploTeclado ponFoco [FMSLogo] habilitaTeclado [controlTeclado] ------------ fin para controlTeclado haz "tecla car leeTecla si :tecla = "d [gd 20] ------------ fin |
|
(habilitaTeclado [instrucciones al pulsar][instrucciones al leventar]) |
|
Si queremos detectar algunas teclas especiales, como las de movimiento del cursor o las teclas de función, tenemos que usar habilitaTeclado con este formato. En este caso, los códigos que devuelve la instrucción leeTecla son los correspondientes a las letras mayúsculas. |
|
Ejemplos: ;escribe el carácter de la tecla pulsada ponFoco [FMSLogo] habilitaTeclado [es car leeTecla] ;escribe el codigo de la tecla incluyendo especiales ponFoco [FMSLogo] (habilitaTeclado [es leeTecla][]) |
|
pixel | |
Esta instrucción nos devuelve el color del punto de la pantalla (píxel) en el que se encuentra la tortuga, para ello utiliza los números que representan la intensidad de los colores rojo, verde y azul correspondientes.
En el juego de coches que vamos a realizar en las actividades nos servirá para detectar cuando la tortuga toca los límites (de color negro) del circuito. |
|
Ejemplo: ;si la tortuga toca una zona negra ;se ejecutan las instrucciones entre corchetes si pixel = [0 0 0] [instrucciones] |
Actividades
Obra publicada con Licencia Creative Commons Reconocimiento Compartir igual 4.0