Esqueleto básico de un juego en GBDK
Todos los juegos realizados con GBDK-2020 Utilizan un esqueleto común, con algunas variaciones a modo de template, por este motivo, vamos a analizar uno de estos, el que use yo para aprender esta tecnología y lo analizaremos para intentar entenderlo
//includes and imports
#include <gb/gb.h>
//Variables area
//functions declarations area
void checkInput();
void updateSwitches();
//Main function
void main() {
while(1) {
checkInput();
updateSwitches();
wait_vbl_done();
}
}
void updateSwitches() {
HIDE_WIN;
SHOW_SPRITES;
SHOW_BKG;
}
//Butons functions
void checkInput() {
// START
if (joypad() & J_START) {
}
}
Incluimos Vamos a analizar el código que hemos visto anteriormente para intentar entender como funciona:
#include <gb/gb.h>
Incluimos las librerias de gameboy en nuestro código, la librería gb.h es la que incluye la mayoria de las funnciones que necesitaremos para nuestros desarrollos
void checkInput();
void updateSwitches();
Declaramos las funciones que vamos a necesitar
void main() {
Funcion principal y de entrada del juego
while(1) {
Bucle principal del juego, este bucle se repite cíclica-mente para generar la sensación de animación y vida al juego, en cada ciclo se hacen los cambios necesarios en la pantalla y se muestran ademas de comprobar las pulsaciones de la botonera de la consola.
checkInput();
updateSwitches();
wait_vbl_done();
Llamadas a las funciones para comprobar que se a pulsado algún botón de la consola y refrescar la pantalla con los cambios
void updateSwitches() {
En el cuerpo de esta función especificaremos los refrescos de pantalla con constantes propias de la librería gb.h
HIDE_WIN;
SHOW_SPRITES;
SHOW_BKG;
Constantes de refresco de la libreira gb.h su funcion es mostrar los sprites y el fondo en cada ciclo de refresco.
void checkInput() {
En el cuerpo de esta función especificaremos los comportamientos de entrada de la consola por los botones
if (joypad() & J_START) {
Este condicional se ejecuta si se a pulsado el botón start de la consola, en este bloque añadiremos pues la lógica que queramos si el botón es pulsado
¿Qué opinas de esta entrada? ¿tienes dudas? espero tus comentarios.
No hay comentarios:
Publicar un comentario