Manejo de teclado
Es importante en el
juego controlar las teclas pulsadas, de esa forma empezamos a dar interacción.
Según lo visto en la anterior clase del bucle hoy veremos cómo utilizarlo y controlar
que tecla se pulsa. Para ello utilizaremos la función key_pressed(). ésta
función verifica si la tecla pasada por parámetro se pulsa y nos retorna un
booleano (true o false) si está o no pulsada. Vamos a ver un ejemplo:
key_pressed(KEY_F4)
Valida si está
pulsada la tecla "f4". Por parámetro se debe pasar el código de tecla
que queremos verificar, ya en otro post pondré el listado completo de teclas.
En este caso comprueba, si está pulsado f4 retorna true, si no retorna false. Y
con el resultado podemos agregar un if y darle funciones.
Vamos a ver un
ejemplo completo:
void main(){show_game_window("Test demo");alert("demo", "pulsa f4 para cerrar esta ventana");while(true) {if(key_pressed(KEY_F4)) {alert("demo", "adios");exit();}wait(5);}}
Tenemos aquí la
función main (principal) y en ella le dimos un título a nuestra aplicación:
"test demo".
Luego está el alert que avisa que pulsando f4 se cierra el
juego.
Activamos un bucle while:
while(true) que significa: bucle siempre activo. Dentro de
el tiene un condicional que verifica si pulsa la tecla f4 saluda y cierra el
juego. Si pulsas cualquier otra tecla no hará nada. Y por último tenemos un
wait(5) que es una buena práctica, cuando tenemos un bucle infinito: un siclo
que se repite infinitamente ocupa mucho procesador de las computadoras, por lo
tanto es bueno limitarlo a que no esté corriendo siempre si no que tenga un descanso,
en este caso le decimos poné una pausa de 5 ms (milisegundos) con esto ya no
ocupamos tanto procesador y estamos constantemente revisando. También podríamos
ampliar un poco mas esa pausa a 100 o a 150 ms y no se notaría el retardo, En
cambio si lo subimos a 800 o 1500 si lo notaríamos, veremos que al pulsar f4 y
hasta que responda el programa hay que esperar un poco, pero con retardo tan
pequeños no se nota.
Tarea:
Agregar al código
que vimos recién un mensaje diferente para cuando pulse f2 o f6 pero que no se cierre
el programa, solo muestre el mensaje. Que solo permita cerrar con el f4.
Hasta la próxima clase.
No hay comentarios:
Publicar un comentario