jairogarcíarincón

Lógica del juego II: Interfaz, Movimiento y Teclas


1.38K

Introducción



A continuación, vamos a añadir un nuevo grupo de eventos llamado Interfaz, en el que:

  1. Escribiremos el valor de las vidas en la caja correspondiente
  2. Implementaremos la lógica del contador de tiempo
  3. Ocultaremos o mostraremos los diálogos a partir del valor de la variable MostrarDialogos.


Posteriormente, activaremos o desactivaremos el movimiento del jugador según el valor de una variable, y asignaremos teclas a diferentes acciones del usuario.


Vidas



Consiste únicamente en escribir el valor de la variable en el texto correspondiente:

57 Vidas
Fuente: Elaboración propia



Tiempo



El contador de tiempo funcionará siempre que el juego no haya terminado (mientras JuegoCompletado sea falso) y consistirá, básicamente, en ir añadiendo a la variable t el valor de TimeDelta(), que no es más que el tiempo transcurrido en cada frame. (si consideramos que el juego tiene 60fps o frames per second, este valor sería de 1/60 = 16,67ms).

El problema es que este valor es decimal, y nosotros queremos un contador de tiempo en forma de minutos y segundos. Por este motivo se han creado las variables de cadena o string minutos, segundos y tiempo:

  • minutos: Para obtener los minutos, dividimos t entre 60 y nos quedamos con el entero inferior (floor). Si el valor es inferior a 10, añadimos un “0” delante.
  • segundos: Para obtener los segundos, utilizamos la operación módulo de t entre 60 (mod), que devuelve el resto de la división, y nos quedamos con el entero inferior (floor). Si el valor es inferior a 10, también añadimos un “0” delante.
  • tiempo: Es la cadena minutos + “:” + segundos.


Las condiciones y acciones correspondientes para conseguirlo serían las siguientes:

58 Tiempo
Fuente: Elaboración propia


NOTA: Para conseguir las comparaciones entre números, al añadir la condición, selecciona Otras condiciones > Eventos y control de flujo > Comparar dos números.


Diálogos



En este caso, tan solo mostraremos u ocultaremos la capa correspondiente en función del valor de la variable MostrarDialogos:

59 Diálogos
Fuente: Elaboración propia



Movimiento



Crea un nuevo grupo de eventos llamado Movimiento.

En él, dado que habrá ocasiones en las que no querremos que el jugador pueda moverse (por ejemplo, mientras tiene que leer diálogos o mientras responde a las preguntas), vamos a añadir dos condiciones que se estarán comprobando durante todo el juego de tal forma que, en función de si la variable MoverJugador es verdadera o no, se modifique la velocidad de Harry.

60 Eventos de Movimiento
Fuente: Elaboración propia


Más adelante veremos donde cambiamos el valor de esta variable.


Teclas



Para terminar, vamos a añadir un nuevo grupo de eventos llamado Teclas, que permitirá al jugador realizar acciones con el teclado:

  • Esc: Mostrar u ocultar diálogos
  • Z: Ver el mapa completo mientras esté pulsada la tecla
  • R: Mostrar el texto completo para ir más rápidos y ahorrarnos la auto escritura del texto


61 Teclas
Fuente: Elaboración propia


Publicado el 05 de Febrero de 2025

gdeveloprpg2ddigitalizaciónharry potter