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);
|
||||
|
||||
// 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
|
||||
SDL_SetRenderDrawBlendMode(mRenderer, SDL_BLENDMODE_BLEND);
|
||||
|
||||
@@ -3006,8 +3006,14 @@ void Game::shakeScreen()
|
||||
for (int n = 0; n < 8; n++)
|
||||
{
|
||||
// Limpia la pantalla
|
||||
SDL_SetRenderDrawColor(mRenderer, 0x00, 0x00, 0x00, 0xFF);
|
||||
SDL_RenderClear(mRenderer);
|
||||
//SDL_SetRenderDrawColor(mRenderer, 0x00, 0x00, 0x00, 0xFF);
|
||||
//SDL_RenderClear(mRenderer);
|
||||
|
||||
// Prepara para empezar a dibujar en la textura de juego
|
||||
mScreen->start();
|
||||
|
||||
// Limpia la pantalla
|
||||
mScreen->clean(bgColor);
|
||||
|
||||
// Dibuja los objetos
|
||||
mSpriteBackground->setPosX(0);
|
||||
@@ -3033,7 +3039,10 @@ void Game::shakeScreen()
|
||||
renderScoreBoard();
|
||||
|
||||
// Actualiza la pantalla
|
||||
SDL_RenderPresent(mRenderer);
|
||||
//SDL_RenderPresent(mRenderer);
|
||||
|
||||
// Vuelca el contenido del renderizador en pantalla
|
||||
mScreen->blit();
|
||||
SDL_Delay(50);
|
||||
}
|
||||
}
|
||||
@@ -3090,8 +3099,14 @@ section_t Game::run()
|
||||
}
|
||||
|
||||
// Limpia la pantalla
|
||||
SDL_SetRenderDrawColor(mRenderer, 0x00, 0x00, 0x00, 0xFF);
|
||||
SDL_RenderClear(mRenderer);
|
||||
//SDL_SetRenderDrawColor(mRenderer, 0x00, 0x00, 0x00, 0xFF);
|
||||
//SDL_RenderClear(mRenderer);
|
||||
|
||||
// Prepara para empezar a dibujar en la textura de juego
|
||||
mScreen->start();
|
||||
|
||||
// Limpia la pantalla
|
||||
mScreen->clean(bgColor);
|
||||
|
||||
// Dibuja los objetos
|
||||
renderPlayField();
|
||||
@@ -3100,7 +3115,10 @@ section_t Game::run()
|
||||
renderDebugInfo();
|
||||
|
||||
// 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
|
||||
renderPlayField();
|
||||
mMenuPause->render();
|
||||
mFade->render();
|
||||
|
||||
// Actualiza la pantalla
|
||||
SDL_RenderPresent(mRenderer);
|
||||
//SDL_RenderPresent(mRenderer);
|
||||
|
||||
// Vuelca el contenido del renderizador en pantalla
|
||||
mScreen->blit();
|
||||
|
||||
// Comprueba las entradas para el menu
|
||||
mMenuPause->checkInput();
|
||||
@@ -3237,8 +3264,14 @@ void Game::runGameOverScreen()
|
||||
}
|
||||
|
||||
// Limpia la pantalla
|
||||
SDL_SetRenderDrawColor(mRenderer, 0x27, 0x27, 0x36, 0xFF);
|
||||
SDL_RenderClear(mRenderer);
|
||||
//SDL_SetRenderDrawColor(mRenderer, 0x27, 0x27, 0x36, 0xFF);
|
||||
//SDL_RenderClear(mRenderer);
|
||||
|
||||
// Prepara para empezar a dibujar en la textura de juego
|
||||
mScreen->start();
|
||||
|
||||
// Limpia la pantalla
|
||||
mScreen->clean(bgColor);
|
||||
|
||||
// Dibuja los objetos
|
||||
if (mNumPlayers == 1)
|
||||
@@ -3257,7 +3290,10 @@ void Game::runGameOverScreen()
|
||||
mFade->render();
|
||||
|
||||
// Muestra la pantalla
|
||||
SDL_RenderPresent(mRenderer);
|
||||
//SDL_RenderPresent(mRenderer);
|
||||
|
||||
// Vuelca el contenido del renderizador en pantalla
|
||||
mScreen->blit();
|
||||
|
||||
// Comprueba las entradas para el menu
|
||||
mMenuGameOver->checkInput();
|
||||
|
||||
@@ -216,8 +216,14 @@ void Instructions::run(Uint8 mode)
|
||||
SDL_SetRenderTarget(mRenderer, nullptr);
|
||||
|
||||
// Limpia el renderizador
|
||||
SDL_SetRenderDrawColor(mRenderer, bgColor.r, bgColor.g, bgColor.b, 255);
|
||||
SDL_RenderClear(mRenderer);
|
||||
//SDL_SetRenderDrawColor(mRenderer, bgColor.r, bgColor.g, bgColor.b, 255);
|
||||
//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
|
||||
if (mode == INSTRUCTIONS_MODE_AUTO)
|
||||
@@ -229,6 +235,9 @@ void Instructions::run(Uint8 mode)
|
||||
SDL_RenderCopy(mRenderer, mBackbuffer, NULL, &window);
|
||||
|
||||
// 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();
|
||||
|
||||
// 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))
|
||||
JA_PlayMusic(mMusic, 0); // Reproduce la música
|
||||
JA_PlayMusic(mMusic, 0);
|
||||
|
||||
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)
|
||||
{
|
||||
// Actualiza el contador de ticks
|
||||
|
||||
@@ -8,14 +8,15 @@ Screen::Screen(SDL_Window *window, SDL_Renderer *renderer)
|
||||
mWindow = window;
|
||||
mRenderer = renderer;
|
||||
|
||||
mScreenWidth = 320;//REAL_SCREEN_WIDTH;
|
||||
mScreenHeight = 240;//REAL_SCREEN_HEIGHT;
|
||||
mGameCanvasWidth = 256;//SCREEN_WIDTH;
|
||||
mGameCanvasHeight = 192;//SCREEN_HEIGHT;
|
||||
mGameCanvasPosX = 0;//(REAL_SCREEN_WIDTH - SCREEN_WIDTH) / 2;
|
||||
mGameCanvasPosY = 0;//(REAL_SCREEN_HEIGHT - SCREEN_HEIGHT) / 2;
|
||||
mScreenWidth = REAL_SCREEN_WIDTH;
|
||||
mScreenHeight = REAL_SCREEN_HEIGHT;
|
||||
mGameCanvasWidth = SCREEN_WIDTH;
|
||||
mGameCanvasHeight = SCREEN_HEIGHT;
|
||||
mGameCanvasPosX = (mScreenWidth - mGameCanvasWidth) / 2;
|
||||
mGameCanvasPosY = (mScreenHeight - mGameCanvasHeight) / 2;
|
||||
|
||||
mBorderColor = {0x27, 0x27, 0x36};
|
||||
mBorderColor = {0x00, 0x00, 0x00};
|
||||
|
||||
// Crea la textura donde se dibujan los graficos del juego
|
||||
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
|
||||
SDL_SetRenderDrawColor(mRenderer, bgColor.r, bgColor.g, bgColor.b, 255);
|
||||
SDL_RenderClear(mRenderer);
|
||||
//SDL_SetRenderDrawColor(mRenderer, bgColor.r, bgColor.g, bgColor.b, 255);
|
||||
//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
|
||||
SDL_RenderCopy(mRenderer, mBackground, &mBackgroundWindow, NULL);
|
||||
@@ -571,7 +577,10 @@ section_t Title::run(Uint8 subsection)
|
||||
mCrisisBitmap->render();
|
||||
|
||||
// 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
|
||||
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++)
|
||||
{
|
||||
// Limpia la pantalla
|
||||
SDL_SetRenderDrawColor(mRenderer, bgColor.r, bgColor.g, bgColor.b, 255);
|
||||
SDL_RenderClear(mRenderer);
|
||||
//SDL_SetRenderDrawColor(mRenderer, bgColor.r, bgColor.g, bgColor.b, 255);
|
||||
//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
|
||||
SDL_RenderCopy(mRenderer, mBackground, &mBackgroundWindow, NULL);
|
||||
@@ -629,7 +644,10 @@ section_t Title::run(Uint8 subsection)
|
||||
mDustBitmapL->render();
|
||||
|
||||
// Actualiza la pantalla
|
||||
SDL_RenderPresent(mRenderer);
|
||||
//SDL_RenderPresent(mRenderer);
|
||||
|
||||
// Vuelca el contenido del renderizador en pantalla
|
||||
mScreen->blit();
|
||||
}
|
||||
|
||||
mSection.subsection = TITLE_SECTION_3;
|
||||
@@ -847,8 +865,14 @@ section_t Title::run(Uint8 subsection)
|
||||
}
|
||||
|
||||
// Limpia la pantalla
|
||||
SDL_SetRenderDrawColor(mRenderer, bgColor.r, bgColor.g, bgColor.b, 255);
|
||||
SDL_RenderClear(mRenderer);
|
||||
//SDL_SetRenderDrawColor(mRenderer, bgColor.r, bgColor.g, bgColor.b, 255);
|
||||
//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
|
||||
SDL_RenderCopy(mRenderer, mBackground, &mBackgroundWindow, NULL);
|
||||
@@ -883,7 +907,10 @@ section_t Title::run(Uint8 subsection)
|
||||
mFade->render();
|
||||
|
||||
// Actualiza la pantalla
|
||||
SDL_RenderPresent(mRenderer);
|
||||
//SDL_RenderPresent(mRenderer);
|
||||
|
||||
// Vuelca el contenido del renderizador en pantalla
|
||||
mScreen->blit();
|
||||
}
|
||||
else if (mCounter == 0)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user