jairogarcíarincón
29/12/2022
Contenidos
- Casos de éxito
- El desarrollo de videojuegos
- Recursos
- Configuración del proyecto
- Fondo
- Jugador
- Movimiento
- Resto de animaciones
- Eventos
- Colisiones
- Interfaz de usuario
- Diálogos
- Pasillo
- Coleccionables
- Lógica del juego I: Variables e Inicio
- Lógica del juego II: Interfaz, Movimiento y Teclas
- Lógica del juego III: Diálogos
- Lógica del juego IV: Reinicio y Fin de Juego
- Exportar el juego
- Conclusiones
Introducción
A continuación, vamos a añadir un nuevo grupo de eventos llamado Interfaz, en el que:
- Escribiremos el valor de las vidas en la caja correspondiente
- Implementaremos la lógica del contador de tiempo
- 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:
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:
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:
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.
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
Publicado el 05 de Febrero de 2025
gdeveloprpg2ddigitalizaciónharry potter