Trabajando en la carga de menus desde fichero

This commit is contained in:
2022-08-28 19:59:03 +02:00
parent d9cb7f68e2
commit d5a069b8db
9 changed files with 352 additions and 53 deletions

View File

@@ -15,11 +15,9 @@ Title::Title(SDL_Renderer *renderer, Screen *screen, Asset *asset, Input *input)
loadTextureFromFile(texture, asset->get("intro.png"), renderer);
sprite = new AnimatedSprite(texture, renderer, asset->get("intro.ani"));
sprite->setCurrentAnimation("menu");
text = new Text(asset->get("dogica.png"), asset->get("dogica.txt"), renderer);
text2 = new Text(asset->get("debug.png"), asset->get("debug.txt"), renderer);
text = new Text(asset->get("debug.png"), asset->get("debug.txt"), renderer);
music = JA_LoadMusic(asset->get("music_title.ogg").c_str());
menu = new Menu(renderer, text, input);
initMenu();
menu = new Menu(renderer, asset, input, asset->get("title.men"));
// Inicializa variables
section = {SECTION_PROG_TITLE, 0};
@@ -47,34 +45,12 @@ Title::~Title()
delete text;
text = nullptr;
delete text2;
text2 = nullptr;
delete menu;
menu = nullptr;
JA_DeleteMusic(music);
}
// Crea el menu
void Title::initMenu()
{
menu->loadAudioFile(asset->get("sound_menu_cancel.wav"), SOUND_CANCEL);
menu->loadAudioFile(asset->get("sound_menu_select.wav"), SOUND_ACCEPT);
menu->loadAudioFile(asset->get("sound_menu_move.wav"), SOUND_MOVE);
menu->init("TITLE", 0, 150, MENU_BACKGROUND_TRANSPARENT);
menu->addItem("START", 2);
menu->addItem("OPTIONS", 5);
menu->addItem("EXIT");
menu->setDefaultActionWhenCancel(2);
menu->setBackgroundColor({0x30, 0x30, 0x40}, 192);
menu->setSelectorColor({0xe5, 0x1c, 0x23}, 0);
menu->setSelectorTextColor({0xFF, 0xB4, 0x00});
menu->centerMenuOnX(160);
menu->centerMenuElementsOnX();
}
// Actualiza las variables
void Title::update()
{
@@ -118,7 +94,7 @@ void Title::render()
// Dibuja los objetos
sprite->render();
text2->writeDX(TXT_CENTER | TXT_COLOR, 160, 205, "@2016,2022 JAILDESIGNER & JAILBROTHER (v0.4)", 0, {255, 93, 4});
text->writeDX(TXT_CENTER | TXT_COLOR, 160, 205, "@2016,2022 JAILDESIGNER & JAILBROTHER (v0.4)", 0, {255, 93, 4});
menu->render();
// Vuelca el contenido del renderizador en pantalla