forked from jaildesigner-jailgames/jaildoctors_dilemma
Añadidas pausas en los creditos
This commit is contained in:
@@ -14,6 +14,8 @@ Credits::Credits(SDL_Renderer *renderer, Screen *screen, Asset *asset)
|
|||||||
|
|
||||||
// Inicializa variables
|
// Inicializa variables
|
||||||
counter = 0;
|
counter = 0;
|
||||||
|
counterEnabled = true;
|
||||||
|
subCounter = 0;
|
||||||
section.name = SECTION_PROG_CREDITS;
|
section.name = SECTION_PROG_CREDITS;
|
||||||
section.subsection = 0;
|
section.subsection = 0;
|
||||||
ticks = 0;
|
ticks = 0;
|
||||||
@@ -31,6 +33,7 @@ Credits::Credits(SDL_Renderer *renderer, Screen *screen, Asset *asset)
|
|||||||
texts.push_back({"FINISH THEM", stringToColor("white")});
|
texts.push_back({"FINISH THEM", stringToColor("white")});
|
||||||
texts.push_back({"", stringToColor("white")});
|
texts.push_back({"", stringToColor("white")});
|
||||||
texts.push_back({"", stringToColor("white")});
|
texts.push_back({"", stringToColor("white")});
|
||||||
|
|
||||||
texts.push_back({"KEYS:", stringToColor("yellow")});
|
texts.push_back({"KEYS:", stringToColor("yellow")});
|
||||||
texts.push_back({"", stringToColor("white")});
|
texts.push_back({"", stringToColor("white")});
|
||||||
texts.push_back({"USE CURSORS TO MOVE AND JUMP", stringToColor("white")});
|
texts.push_back({"USE CURSORS TO MOVE AND JUMP", stringToColor("white")});
|
||||||
@@ -41,10 +44,12 @@ Credits::Credits(SDL_Renderer *renderer, Screen *screen, Asset *asset)
|
|||||||
texts.push_back({"ESC TO EXIT GAME", stringToColor("white")});
|
texts.push_back({"ESC TO EXIT GAME", stringToColor("white")});
|
||||||
texts.push_back({"", stringToColor("white")});
|
texts.push_back({"", stringToColor("white")});
|
||||||
texts.push_back({"", stringToColor("white")});
|
texts.push_back({"", stringToColor("white")});
|
||||||
|
|
||||||
texts.push_back({"A GAME BY JAILDESIGNER", stringToColor("yellow")});
|
texts.push_back({"A GAME BY JAILDESIGNER", stringToColor("yellow")});
|
||||||
texts.push_back({"MADE ON SUMMER/FALL 2022", stringToColor("yellow")});
|
texts.push_back({"MADE ON SUMMER/FALL 2022", stringToColor("yellow")});
|
||||||
texts.push_back({"", stringToColor("white")});
|
texts.push_back({"", stringToColor("white")});
|
||||||
texts.push_back({"", stringToColor("white")});
|
texts.push_back({"", stringToColor("white")});
|
||||||
|
|
||||||
texts.push_back({"LOVE JAILGAMES!}", stringToColor("white")});
|
texts.push_back({"LOVE JAILGAMES!}", stringToColor("white")});
|
||||||
texts.push_back({"", stringToColor("white")});
|
texts.push_back({"", stringToColor("white")});
|
||||||
|
|
||||||
@@ -116,7 +121,8 @@ void Credits::fillTexture()
|
|||||||
{
|
{
|
||||||
// Rellena la textura de texto
|
// Rellena la textura de texto
|
||||||
SDL_SetRenderTarget(renderer, textTexture);
|
SDL_SetRenderTarget(renderer, textTexture);
|
||||||
SDL_SetRenderDrawColor(renderer, 0x00, 0x00, 0x00, 0x00);
|
const color_t c = stringToColor("black");
|
||||||
|
SDL_SetRenderDrawColor(renderer, c.r, c.g, c.b, 0x00);
|
||||||
SDL_RenderClear(renderer);
|
SDL_RenderClear(renderer);
|
||||||
|
|
||||||
// Escribe el texto en la textura
|
// Escribe el texto en la textura
|
||||||
@@ -133,11 +139,11 @@ void Credits::fillTexture()
|
|||||||
|
|
||||||
// Rellena la textura que cubre el texto
|
// Rellena la textura que cubre el texto
|
||||||
SDL_SetRenderTarget(renderer, coverTexture);
|
SDL_SetRenderTarget(renderer, coverTexture);
|
||||||
SDL_SetRenderDrawColor(renderer, 0x00, 0x00, 0x00, 0x00);
|
SDL_SetRenderDrawColor(renderer, c.r, c.g, c.b, 0x00);
|
||||||
SDL_RenderClear(renderer);
|
SDL_RenderClear(renderer);
|
||||||
|
|
||||||
// Los primeros 8 pixels crea una malla
|
// Los primeros 8 pixels crea una malla
|
||||||
SDL_SetRenderDrawColor(renderer, 0x00, 0x00, 0x00, 0xFF);
|
SDL_SetRenderDrawColor(renderer, c.r, c.g, c.b, 0xFF);
|
||||||
for (int i = 0; i < 256; i += 2)
|
for (int i = 0; i < 256; i += 2)
|
||||||
{
|
{
|
||||||
SDL_RenderDrawPoint(renderer, i, 0);
|
SDL_RenderDrawPoint(renderer, i, 0);
|
||||||
@@ -158,6 +164,35 @@ void Credits::fillTexture()
|
|||||||
SDL_SetRenderTarget(renderer, nullptr);
|
SDL_SetRenderTarget(renderer, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Actualiza el contador
|
||||||
|
void Credits::updateCounter()
|
||||||
|
{
|
||||||
|
// Incrementa el contador
|
||||||
|
if (counterEnabled)
|
||||||
|
{
|
||||||
|
counter++;
|
||||||
|
if (counter == 224 || counter == 544 || counter == 672)
|
||||||
|
{
|
||||||
|
counterEnabled = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
subCounter++;
|
||||||
|
if (subCounter == 100)
|
||||||
|
{
|
||||||
|
counterEnabled = true;
|
||||||
|
subCounter = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Comprueba si ha terminado la sección
|
||||||
|
if (counter > 1000)
|
||||||
|
{
|
||||||
|
section.name = SECTION_PROG_DEMO;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Actualiza las variables
|
// Actualiza las variables
|
||||||
void Credits::update()
|
void Credits::update()
|
||||||
{
|
{
|
||||||
@@ -170,14 +205,8 @@ void Credits::update()
|
|||||||
// Comprueba el manejador de eventos
|
// Comprueba el manejador de eventos
|
||||||
checkEventHandler();
|
checkEventHandler();
|
||||||
|
|
||||||
// Incrementa el contador
|
// Actualiza el contador
|
||||||
counter++;
|
updateCounter();
|
||||||
|
|
||||||
// Comprueba si ha terminado la sección
|
|
||||||
if (counter > 1000)
|
|
||||||
{
|
|
||||||
section.name = SECTION_PROG_DEMO;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -198,6 +227,9 @@ void Credits::render()
|
|||||||
SDL_Rect rect = {0, offset * 2, 256, 192};
|
SDL_Rect rect = {0, offset * 2, 256, 192};
|
||||||
SDL_RenderCopy(renderer, coverTexture, nullptr, &rect);
|
SDL_RenderCopy(renderer, coverTexture, nullptr, &rect);
|
||||||
|
|
||||||
|
//text->write(0,0,std::to_string(counter));
|
||||||
|
//text->write(0,8,std::to_string(counterEnabled));
|
||||||
|
|
||||||
// Vuelca el contenido del renderizador en pantalla
|
// Vuelca el contenido del renderizador en pantalla
|
||||||
screen->blit();
|
screen->blit();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,10 +32,12 @@ private:
|
|||||||
SDL_Texture *coverTexture; // Textura para cubrir el texto
|
SDL_Texture *coverTexture; // Textura para cubrir el texto
|
||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
int counter; // Contador
|
int counter; // Contador
|
||||||
section_t section; // Estado del bucle principal para saber si continua o se sale
|
bool counterEnabled; // Indica si esta activo el contador
|
||||||
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
|
int subCounter; // Contador secundario
|
||||||
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
|
section_t section; // Estado del bucle principal para saber si continua o se sale
|
||||||
|
Uint32 ticks; // Contador de ticks para ajustar la velocidad del programa
|
||||||
|
Uint32 ticksSpeed; // Velocidad a la que se repiten los bucles del programa
|
||||||
std::vector<captions_t> texts; // Vector con las letras de la marquesina
|
std::vector<captions_t> texts; // Vector con las letras de la marquesina
|
||||||
|
|
||||||
// Actualiza las variables
|
// Actualiza las variables
|
||||||
@@ -47,6 +49,9 @@ private:
|
|||||||
// Comprueba el manejador de eventos
|
// Comprueba el manejador de eventos
|
||||||
void checkEventHandler();
|
void checkEventHandler();
|
||||||
|
|
||||||
|
// Actualiza el contador
|
||||||
|
void updateCounter();
|
||||||
|
|
||||||
// Escribe el texto en la textura
|
// Escribe el texto en la textura
|
||||||
void fillTexture();
|
void fillTexture();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user