Cómo crear un temporizador en GameMaker

El entorno de desarrollo GameMaker de YoYo Games es popular por permitir a desarrolladores novatos crear juegos sin conocimientos de programación. Sin embargo, algunas funciones no tienen acciones predefinidas en la interfaz. Ahí es donde el desarrollador debe escribir su propia lógica. Un ejemplo es un temporizador que limite el tiempo del jugador para completar un nivel.

Paso 1: Crear objeto temporizador

Cree un objeto haciendo clic derecho en "Objetos" y eligiendo "Crear objeto". Nómbralo "timer". No le asigne un sprite.

Paso 2: Evento Create

Haga clic en "Añadir evento" y seleccione "Create". Esto creará el código que se ejecuta al iniciar el juego.

Paso 3: Configurar velocidad de frames

Vaya a la pestaña "Control" y arrastre el icono cuadrado con "VAR" al panel "Acciones". Esta es la acción "establecer variable". En el cuadro emergente, nombre la variable "room_speed" y establezca su valor en 30. Esto indica al juego que funcione a 30 frames por segundo. Es crucial, ya que GameMaker solo recuerda el número de frames mostrados, no el tiempo transcurrido.

Paso 4: Establecer tiempo inicial

Arrastre otra acción "establecer variable". Nómbrela "seconds" y establézcala en 10. Esta es la duración del temporizador en segundos.

Paso 5: Configurar alarma de 1 segundo

Haga clic en la pestaña "Main 2" y arrastre el icono de cronómetro al panel "Acciones". Cambie "número de pasos" a "room_speed". Como "room_speed" define cuántos frames ocurren en un segundo, está configurando una alarma que se active tras ese número de frames, es decir, cada segundo.

Paso 6: Evento Alarm

Haga clic en "Añadir evento" y elija "Alarm" para crear el código que se ejecutará cada segundo cuando suene la alarma.

Paso 7: Decrementar contador

Arrastre otra acción "establecer variable", establezca la variable "seconds" en -1 y marque la casilla "relative". Esto le dice a GameMaker que reste 1 a la variable en lugar de establecerla en -1.

Paso 8: Comprobar si llegó a cero

Arrastre el icono "test variable" (palabra "VAR" en octágono) al panel "Acciones". Establezca la variable a probar en "seconds" y el valor a probar en "0".

Paso 9: Finalizar juego

Vaya a la pestaña "Main 2" y arrastre el icono "End Game" (botón rojo de apagado) al panel "Acciones". Esto terminará el juego cuando el temporizador llegue a cero.

Paso 10: Reiniciar alarma

Vuelva a la pestaña "Control". Arrastre el icono "ELSE" al panel "Acciones". Esto define qué hacer cuando los segundos no son cero. Vaya a "Main 2" y arrastre la acción "set alarm" al panel. Establezca de nuevo la alarma en "room_speed".

Paso 11: Dibujar temporizador en pantalla

Haga clic en "Añadir evento" y seleccione "Draw". El temporizador funciona, pero el jugador debe verlo. Arrastre el botón "Draw Variable" de la pestaña "Control" e introduzca "seconds" en el cuadro de variable.

Paso 12: Probar

Cree una sala haciendo clic derecho en "rooms" y seleccionando "create room". Haga clic en la cuadrícula para añadir un objeto "timer". Haga clic en la marca de verificación verde para "guardar" y en la flecha verde para "ejecutar". El juego debería durar 10 segundos, con un temporizador en la esquina superior izquierda. Al llegar a cero, el juego terminará.