Añadida la clase screen al código
This commit is contained in:
@@ -193,7 +193,7 @@ bool Director::initSDL()
|
|||||||
SDL_SetRenderDrawColor(mRenderer, 0x00, 0x00, 0x00, 0xFF);
|
SDL_SetRenderDrawColor(mRenderer, 0x00, 0x00, 0x00, 0xFF);
|
||||||
|
|
||||||
// Establece el tamaño del buffer de renderizado
|
// Establece el tamaño del buffer de renderizado
|
||||||
SDL_RenderSetLogicalSize(mRenderer, SCREEN_WIDTH, SCREEN_HEIGHT);
|
SDL_RenderSetLogicalSize(mRenderer, REAL_SCREEN_WIDTH, REAL_SCREEN_HEIGHT);
|
||||||
|
|
||||||
// Establece el modo de mezcla
|
// Establece el modo de mezcla
|
||||||
SDL_SetRenderDrawBlendMode(mRenderer, SDL_BLENDMODE_BLEND);
|
SDL_SetRenderDrawBlendMode(mRenderer, SDL_BLENDMODE_BLEND);
|
||||||
|
|||||||
@@ -3006,8 +3006,14 @@ void Game::shakeScreen()
|
|||||||
for (int n = 0; n < 8; n++)
|
for (int n = 0; n < 8; n++)
|
||||||
{
|
{
|
||||||
// Limpia la pantalla
|
// Limpia la pantalla
|
||||||
SDL_SetRenderDrawColor(mRenderer, 0x00, 0x00, 0x00, 0xFF);
|
//SDL_SetRenderDrawColor(mRenderer, 0x00, 0x00, 0x00, 0xFF);
|
||||||
SDL_RenderClear(mRenderer);
|
//SDL_RenderClear(mRenderer);
|
||||||
|
|
||||||
|
// Prepara para empezar a dibujar en la textura de juego
|
||||||
|
mScreen->start();
|
||||||
|
|
||||||
|
// Limpia la pantalla
|
||||||
|
mScreen->clean(bgColor);
|
||||||
|
|
||||||
// Dibuja los objetos
|
// Dibuja los objetos
|
||||||
mSpriteBackground->setPosX(0);
|
mSpriteBackground->setPosX(0);
|
||||||
@@ -3033,7 +3039,10 @@ void Game::shakeScreen()
|
|||||||
renderScoreBoard();
|
renderScoreBoard();
|
||||||
|
|
||||||
// Actualiza la pantalla
|
// Actualiza la pantalla
|
||||||
SDL_RenderPresent(mRenderer);
|
//SDL_RenderPresent(mRenderer);
|
||||||
|
|
||||||
|
// Vuelca el contenido del renderizador en pantalla
|
||||||
|
mScreen->blit();
|
||||||
SDL_Delay(50);
|
SDL_Delay(50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3090,8 +3099,14 @@ section_t Game::run()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Limpia la pantalla
|
// Limpia la pantalla
|
||||||
SDL_SetRenderDrawColor(mRenderer, 0x00, 0x00, 0x00, 0xFF);
|
//SDL_SetRenderDrawColor(mRenderer, 0x00, 0x00, 0x00, 0xFF);
|
||||||
SDL_RenderClear(mRenderer);
|
//SDL_RenderClear(mRenderer);
|
||||||
|
|
||||||
|
// Prepara para empezar a dibujar en la textura de juego
|
||||||
|
mScreen->start();
|
||||||
|
|
||||||
|
// Limpia la pantalla
|
||||||
|
mScreen->clean(bgColor);
|
||||||
|
|
||||||
// Dibuja los objetos
|
// Dibuja los objetos
|
||||||
renderPlayField();
|
renderPlayField();
|
||||||
@@ -3100,7 +3115,10 @@ section_t Game::run()
|
|||||||
renderDebugInfo();
|
renderDebugInfo();
|
||||||
|
|
||||||
// Actualiza la pantalla
|
// Actualiza la pantalla
|
||||||
SDL_RenderPresent(mRenderer);
|
//SDL_RenderPresent(mRenderer);
|
||||||
|
|
||||||
|
// Vuelca el contenido del renderizador en pantalla
|
||||||
|
mScreen->blit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3144,13 +3162,22 @@ void Game::runPausedGame()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Prepara para empezar a dibujar en la textura de juego
|
||||||
|
mScreen->start();
|
||||||
|
|
||||||
|
// Limpia la pantalla
|
||||||
|
mScreen->clean(bgColor);
|
||||||
|
|
||||||
// Pinta el escenario
|
// Pinta el escenario
|
||||||
renderPlayField();
|
renderPlayField();
|
||||||
mMenuPause->render();
|
mMenuPause->render();
|
||||||
mFade->render();
|
mFade->render();
|
||||||
|
|
||||||
// Actualiza la pantalla
|
// Actualiza la pantalla
|
||||||
SDL_RenderPresent(mRenderer);
|
//SDL_RenderPresent(mRenderer);
|
||||||
|
|
||||||
|
// Vuelca el contenido del renderizador en pantalla
|
||||||
|
mScreen->blit();
|
||||||
|
|
||||||
// Comprueba las entradas para el menu
|
// Comprueba las entradas para el menu
|
||||||
mMenuPause->checkInput();
|
mMenuPause->checkInput();
|
||||||
@@ -3237,8 +3264,14 @@ void Game::runGameOverScreen()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Limpia la pantalla
|
// Limpia la pantalla
|
||||||
SDL_SetRenderDrawColor(mRenderer, 0x27, 0x27, 0x36, 0xFF);
|
//SDL_SetRenderDrawColor(mRenderer, 0x27, 0x27, 0x36, 0xFF);
|
||||||
SDL_RenderClear(mRenderer);
|
//SDL_RenderClear(mRenderer);
|
||||||
|
|
||||||
|
// Prepara para empezar a dibujar en la textura de juego
|
||||||
|
mScreen->start();
|
||||||
|
|
||||||
|
// Limpia la pantalla
|
||||||
|
mScreen->clean(bgColor);
|
||||||
|
|
||||||
// Dibuja los objetos
|
// Dibuja los objetos
|
||||||
if (mNumPlayers == 1)
|
if (mNumPlayers == 1)
|
||||||
@@ -3257,7 +3290,10 @@ void Game::runGameOverScreen()
|
|||||||
mFade->render();
|
mFade->render();
|
||||||
|
|
||||||
// Muestra la pantalla
|
// Muestra la pantalla
|
||||||
SDL_RenderPresent(mRenderer);
|
//SDL_RenderPresent(mRenderer);
|
||||||
|
|
||||||
|
// Vuelca el contenido del renderizador en pantalla
|
||||||
|
mScreen->blit();
|
||||||
|
|
||||||
// Comprueba las entradas para el menu
|
// Comprueba las entradas para el menu
|
||||||
mMenuGameOver->checkInput();
|
mMenuGameOver->checkInput();
|
||||||
|
|||||||
@@ -216,8 +216,14 @@ void Instructions::run(Uint8 mode)
|
|||||||
SDL_SetRenderTarget(mRenderer, nullptr);
|
SDL_SetRenderTarget(mRenderer, nullptr);
|
||||||
|
|
||||||
// Limpia el renderizador
|
// Limpia el renderizador
|
||||||
SDL_SetRenderDrawColor(mRenderer, bgColor.r, bgColor.g, bgColor.b, 255);
|
//SDL_SetRenderDrawColor(mRenderer, bgColor.r, bgColor.g, bgColor.b, 255);
|
||||||
SDL_RenderClear(mRenderer);
|
//SDL_RenderClear(mRenderer);
|
||||||
|
|
||||||
|
// Prepara para empezar a dibujar en la textura de juego
|
||||||
|
mScreen->start();
|
||||||
|
|
||||||
|
// Limpia la pantalla
|
||||||
|
mScreen->clean(bgColor);
|
||||||
|
|
||||||
// Establece la ventana del backbuffer
|
// Establece la ventana del backbuffer
|
||||||
if (mode == INSTRUCTIONS_MODE_AUTO)
|
if (mode == INSTRUCTIONS_MODE_AUTO)
|
||||||
@@ -229,6 +235,9 @@ void Instructions::run(Uint8 mode)
|
|||||||
SDL_RenderCopy(mRenderer, mBackbuffer, NULL, &window);
|
SDL_RenderCopy(mRenderer, mBackbuffer, NULL, &window);
|
||||||
|
|
||||||
// Dibuja el renderizador en pantalla
|
// Dibuja el renderizador en pantalla
|
||||||
SDL_RenderPresent(mRenderer);
|
//SDL_RenderPresent(mRenderer);
|
||||||
|
|
||||||
|
// Vuelca el contenido del renderizador en pantalla
|
||||||
|
mScreen->blit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -210,9 +210,9 @@ section_t Intro::run()
|
|||||||
{
|
{
|
||||||
init();
|
init();
|
||||||
|
|
||||||
// Si la música no está sonando
|
// Si la música no está sonando la hace sonar
|
||||||
if ((JA_GetMusicState() == JA_MUSIC_INVALID) || (JA_GetMusicState() == JA_MUSIC_STOPPED))
|
if ((JA_GetMusicState() == JA_MUSIC_INVALID) || (JA_GetMusicState() == JA_MUSIC_STOPPED))
|
||||||
JA_PlayMusic(mMusic, 0); // Reproduce la música
|
JA_PlayMusic(mMusic, 0);
|
||||||
|
|
||||||
while (mSection.name == PROG_SECTION_INTRO)
|
while (mSection.name == PROG_SECTION_INTRO)
|
||||||
{
|
{
|
||||||
@@ -233,7 +233,7 @@ section_t Intro::run()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calcula la lógica del bucle
|
// Actualiza las variables
|
||||||
if (SDL_GetTicks() - mTicks > mTicksSpeed)
|
if (SDL_GetTicks() - mTicks > mTicksSpeed)
|
||||||
{
|
{
|
||||||
// Actualiza el contador de ticks
|
// Actualiza el contador de ticks
|
||||||
|
|||||||
@@ -8,14 +8,15 @@ Screen::Screen(SDL_Window *window, SDL_Renderer *renderer)
|
|||||||
mWindow = window;
|
mWindow = window;
|
||||||
mRenderer = renderer;
|
mRenderer = renderer;
|
||||||
|
|
||||||
mScreenWidth = 320;//REAL_SCREEN_WIDTH;
|
mScreenWidth = REAL_SCREEN_WIDTH;
|
||||||
mScreenHeight = 240;//REAL_SCREEN_HEIGHT;
|
mScreenHeight = REAL_SCREEN_HEIGHT;
|
||||||
mGameCanvasWidth = 256;//SCREEN_WIDTH;
|
mGameCanvasWidth = SCREEN_WIDTH;
|
||||||
mGameCanvasHeight = 192;//SCREEN_HEIGHT;
|
mGameCanvasHeight = SCREEN_HEIGHT;
|
||||||
mGameCanvasPosX = 0;//(REAL_SCREEN_WIDTH - SCREEN_WIDTH) / 2;
|
mGameCanvasPosX = (mScreenWidth - mGameCanvasWidth) / 2;
|
||||||
mGameCanvasPosY = 0;//(REAL_SCREEN_HEIGHT - SCREEN_HEIGHT) / 2;
|
mGameCanvasPosY = (mScreenHeight - mGameCanvasHeight) / 2;
|
||||||
|
|
||||||
mBorderColor = {0x27, 0x27, 0x36};
|
mBorderColor = {0x27, 0x27, 0x36};
|
||||||
|
mBorderColor = {0x00, 0x00, 0x00};
|
||||||
|
|
||||||
// Crea la textura donde se dibujan los graficos del juego
|
// Crea la textura donde se dibujan los graficos del juego
|
||||||
mGameCanvas = SDL_CreateTexture(mRenderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, mGameCanvasWidth, mGameCanvasHeight);
|
mGameCanvas = SDL_CreateTexture(mRenderer, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET, mGameCanvasWidth, mGameCanvasHeight);
|
||||||
|
|||||||
@@ -557,8 +557,14 @@ section_t Title::run(Uint8 subsection)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Limpia la pantalla
|
// Limpia la pantalla
|
||||||
SDL_SetRenderDrawColor(mRenderer, bgColor.r, bgColor.g, bgColor.b, 255);
|
//SDL_SetRenderDrawColor(mRenderer, bgColor.r, bgColor.g, bgColor.b, 255);
|
||||||
SDL_RenderClear(mRenderer);
|
//SDL_RenderClear(mRenderer);
|
||||||
|
|
||||||
|
// Prepara para empezar a dibujar en la textura de juego
|
||||||
|
mScreen->start();
|
||||||
|
|
||||||
|
// Limpia la pantalla
|
||||||
|
mScreen->clean(bgColor);
|
||||||
|
|
||||||
// Dibuja el tileado de fondo
|
// Dibuja el tileado de fondo
|
||||||
SDL_RenderCopy(mRenderer, mBackground, &mBackgroundWindow, NULL);
|
SDL_RenderCopy(mRenderer, mBackground, &mBackgroundWindow, NULL);
|
||||||
@@ -571,7 +577,10 @@ section_t Title::run(Uint8 subsection)
|
|||||||
mCrisisBitmap->render();
|
mCrisisBitmap->render();
|
||||||
|
|
||||||
// Actualiza la pantalla
|
// Actualiza la pantalla
|
||||||
SDL_RenderPresent(mRenderer);
|
//SDL_RenderPresent(mRenderer);
|
||||||
|
|
||||||
|
// Vuelca el contenido del renderizador en pantalla
|
||||||
|
mScreen->blit();
|
||||||
|
|
||||||
// Si los objetos han llegado a su destino, cambiamos de Sección
|
// Si los objetos han llegado a su destino, cambiamos de Sección
|
||||||
if ((mEvents[0] == EVENT_COMPLETED) && (mEvents[0] == EVENT_COMPLETED))
|
if ((mEvents[0] == EVENT_COMPLETED) && (mEvents[0] == EVENT_COMPLETED))
|
||||||
@@ -609,8 +618,14 @@ section_t Title::run(Uint8 subsection)
|
|||||||
for (int n = 0; n < 11 * 3; n++)
|
for (int n = 0; n < 11 * 3; n++)
|
||||||
{
|
{
|
||||||
// Limpia la pantalla
|
// Limpia la pantalla
|
||||||
SDL_SetRenderDrawColor(mRenderer, bgColor.r, bgColor.g, bgColor.b, 255);
|
//SDL_SetRenderDrawColor(mRenderer, bgColor.r, bgColor.g, bgColor.b, 255);
|
||||||
SDL_RenderClear(mRenderer);
|
//SDL_RenderClear(mRenderer);
|
||||||
|
|
||||||
|
// Prepara para empezar a dibujar en la textura de juego
|
||||||
|
mScreen->start();
|
||||||
|
|
||||||
|
// Limpia la pantalla
|
||||||
|
mScreen->clean(bgColor);
|
||||||
|
|
||||||
// Dibuja el tileado de fondo
|
// Dibuja el tileado de fondo
|
||||||
SDL_RenderCopy(mRenderer, mBackground, &mBackgroundWindow, NULL);
|
SDL_RenderCopy(mRenderer, mBackground, &mBackgroundWindow, NULL);
|
||||||
@@ -629,7 +644,10 @@ section_t Title::run(Uint8 subsection)
|
|||||||
mDustBitmapL->render();
|
mDustBitmapL->render();
|
||||||
|
|
||||||
// Actualiza la pantalla
|
// Actualiza la pantalla
|
||||||
SDL_RenderPresent(mRenderer);
|
//SDL_RenderPresent(mRenderer);
|
||||||
|
|
||||||
|
// Vuelca el contenido del renderizador en pantalla
|
||||||
|
mScreen->blit();
|
||||||
}
|
}
|
||||||
|
|
||||||
mSection.subsection = TITLE_SECTION_3;
|
mSection.subsection = TITLE_SECTION_3;
|
||||||
@@ -847,8 +865,14 @@ section_t Title::run(Uint8 subsection)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Limpia la pantalla
|
// Limpia la pantalla
|
||||||
SDL_SetRenderDrawColor(mRenderer, bgColor.r, bgColor.g, bgColor.b, 255);
|
//SDL_SetRenderDrawColor(mRenderer, bgColor.r, bgColor.g, bgColor.b, 255);
|
||||||
SDL_RenderClear(mRenderer);
|
//SDL_RenderClear(mRenderer);
|
||||||
|
|
||||||
|
// Prepara para empezar a dibujar en la textura de juego
|
||||||
|
mScreen->start();
|
||||||
|
|
||||||
|
// Limpia la pantalla
|
||||||
|
mScreen->clean(bgColor);
|
||||||
|
|
||||||
// Dibuja el tileado de fondo
|
// Dibuja el tileado de fondo
|
||||||
SDL_RenderCopy(mRenderer, mBackground, &mBackgroundWindow, NULL);
|
SDL_RenderCopy(mRenderer, mBackground, &mBackgroundWindow, NULL);
|
||||||
@@ -883,7 +907,10 @@ section_t Title::run(Uint8 subsection)
|
|||||||
mFade->render();
|
mFade->render();
|
||||||
|
|
||||||
// Actualiza la pantalla
|
// Actualiza la pantalla
|
||||||
SDL_RenderPresent(mRenderer);
|
//SDL_RenderPresent(mRenderer);
|
||||||
|
|
||||||
|
// Vuelca el contenido del renderizador en pantalla
|
||||||
|
mScreen->blit();
|
||||||
}
|
}
|
||||||
else if (mCounter == 0)
|
else if (mCounter == 0)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user