forked from jaildesigner-jailgames/jaildoctors_dilemma
Trabajando en el ending2
This commit is contained in:
@@ -25,6 +25,12 @@ Ending2::Ending2(SDL_Renderer *renderer, Screen *screen, Resource *resource, Ass
|
||||
|
||||
// Cambia el color del borde
|
||||
screen->setBorderColor(stringToColor(options->palette, "black"));
|
||||
|
||||
// Inicializa la lista de sprites
|
||||
iniSpriteList();
|
||||
|
||||
// Carga todos los sprites desde una lista
|
||||
loadSprites();
|
||||
}
|
||||
|
||||
// Destructor
|
||||
@@ -34,6 +40,12 @@ Ending2::~Ending2()
|
||||
delete eventHandler;
|
||||
delete text;
|
||||
JA_DeleteMusic(music);
|
||||
|
||||
for (auto sprite : sprites)
|
||||
{
|
||||
delete sprite;
|
||||
}
|
||||
sprites.clear();
|
||||
}
|
||||
|
||||
// Actualiza el objeto
|
||||
@@ -51,7 +63,10 @@ void Ending2::update()
|
||||
// Actualiza los contadores
|
||||
updateCounters();
|
||||
|
||||
if (counter > 400)
|
||||
// Actualiza los sprites
|
||||
updateSprites();
|
||||
|
||||
if (counter > 4000)
|
||||
{
|
||||
section.name = SECTION_PROG_LOGO;
|
||||
}
|
||||
@@ -67,7 +82,11 @@ void Ending2::render()
|
||||
// Limpia la pantalla
|
||||
screen->clean(stringToColor(options->palette, "black"));
|
||||
|
||||
text->write(0,0,std::to_string(counter));
|
||||
// Dibuja los sprites
|
||||
void renderSprites();
|
||||
|
||||
const std::string txt = std::to_string(preCounter) + " - " + std::to_string(counter);
|
||||
text->write(0, 0, txt);
|
||||
|
||||
// Vuelca el contenido del renderizador en pantalla
|
||||
screen->blit();
|
||||
@@ -164,4 +183,92 @@ void Ending2::updateCounters()
|
||||
{
|
||||
counter++;
|
||||
}
|
||||
}
|
||||
|
||||
// Inicializa la lista de sprites
|
||||
void Ending2::iniSpriteList()
|
||||
{
|
||||
// Reinicia el vector
|
||||
spriteList.clear();
|
||||
|
||||
// Añade los valores
|
||||
spriteList.push_back("abad");
|
||||
spriteList.push_back("abad_bell");
|
||||
spriteList.push_back("amstrad_character_set");
|
||||
spriteList.push_back("arounder_fly");
|
||||
spriteList.push_back("arounder_stop");
|
||||
spriteList.push_back("arounder_walk");
|
||||
spriteList.push_back("arounders_door");
|
||||
spriteList.push_back("arounders_machine");
|
||||
spriteList.push_back("bat");
|
||||
spriteList.push_back("batman_bell");
|
||||
spriteList.push_back("batman_fire");
|
||||
spriteList.push_back("batman");
|
||||
spriteList.push_back("bell");
|
||||
spriteList.push_back("bin");
|
||||
spriteList.push_back("bird");
|
||||
spriteList.push_back("breakout");
|
||||
spriteList.push_back("bry");
|
||||
spriteList.push_back("chip");
|
||||
spriteList.push_back("code");
|
||||
spriteList.push_back("demon");
|
||||
spriteList.push_back("dimallas_v");
|
||||
spriteList.push_back("dimallas");
|
||||
spriteList.push_back("diskette");
|
||||
spriteList.push_back("dong");
|
||||
spriteList.push_back("heavy");
|
||||
spriteList.push_back("jailbattle_alien");
|
||||
spriteList.push_back("jailbattle_human");
|
||||
spriteList.push_back("jailer");
|
||||
spriteList.push_back("jailer2");
|
||||
spriteList.push_back("jailer3");
|
||||
spriteList.push_back("lamp");
|
||||
spriteList.push_back("macaronni_ted");
|
||||
spriteList.push_back("matatunos");
|
||||
spriteList.push_back("mummy");
|
||||
spriteList.push_back("paco");
|
||||
spriteList.push_back("printer");
|
||||
spriteList.push_back("qvoid");
|
||||
spriteList.push_back("sam");
|
||||
spriteList.push_back("sigmasua");
|
||||
spriteList.push_back("spider");
|
||||
spriteList.push_back("tuno");
|
||||
spriteList.push_back("tv_panel");
|
||||
spriteList.push_back("tv");
|
||||
spriteList.push_back("wave_v");
|
||||
spriteList.push_back("wave");
|
||||
}
|
||||
|
||||
// Carga todos los sprites desde una lista
|
||||
void Ending2::loadSprites()
|
||||
{
|
||||
for (auto sl : spriteList)
|
||||
{
|
||||
sprites.push_back(new AnimatedSprite(renderer, resource->getAnimation(sl + ".ani")));
|
||||
}
|
||||
|
||||
for (int i = 0; i < (int)sprites.size(); ++i)
|
||||
{
|
||||
const int x = (i * 20) % 220;
|
||||
const int y = (i / 11) * 20;
|
||||
sprites.at(i)->setPos({x, y});
|
||||
}
|
||||
}
|
||||
|
||||
// Actualiza los sprites
|
||||
void Ending2::updateSprites()
|
||||
{
|
||||
for (auto sprite : sprites)
|
||||
{
|
||||
sprite->update();
|
||||
}
|
||||
}
|
||||
|
||||
// Dibuja los sprites
|
||||
void Ending2::renderSprites()
|
||||
{
|
||||
for (auto sprite : sprites)
|
||||
{
|
||||
sprite->render();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user