diff --git a/data/gfx/game_buildings.png b/data/gfx/game_buildings.png index f0ad838..412e037 100644 Binary files a/data/gfx/game_buildings.png and b/data/gfx/game_buildings.png differ diff --git a/data/gfx/game_clouds.png b/data/gfx/game_clouds.png index 12594b5..ecd5ba5 100644 Binary files a/data/gfx/game_clouds.png and b/data/gfx/game_clouds.png differ diff --git a/data/gfx/game_sky_colors.png b/data/gfx/game_sky_colors.png index 98b6c8a..b017b6d 100644 Binary files a/data/gfx/game_sky_colors.png and b/data/gfx/game_sky_colors.png differ diff --git a/source/background.cpp b/source/background.cpp index aea9a70..20433eb 100644 --- a/source/background.cpp +++ b/source/background.cpp @@ -20,9 +20,9 @@ Background::Background(SDL_Renderer *renderer, Screen *screen, Asset *asset) base = rect.h; gradientRect[0] = {0, 0, rect.w, rect.h}; - gradientRect[1] = {256, 0, rect.w, rect.h}; - gradientRect[2] = {0, 192, rect.w, rect.h}; - gradientRect[3] = {256, 192, rect.w, rect.h}; + gradientRect[1] = {rect.w, 0, rect.w, rect.h}; + gradientRect[2] = {0, rect.h, rect.w, rect.h}; + gradientRect[3] = {rect.w, rect.h, rect.w, rect.h}; // Carga las texturas buildingsTexture = new Texture(renderer, asset->get("game_buildings.png")); @@ -31,20 +31,21 @@ Background::Background(SDL_Renderer *renderer, Screen *screen, Asset *asset) gradientsTexture = new Texture(renderer, asset->get("game_sky_colors.png")); // Crea los sprites - clouds1A = new MovingSprite(0, base - 155, 256, 52, -0.4f, 0.0f, 0.0f, 0.0f, cloudsTexture, renderer); - clouds1B = new MovingSprite(256, base - 155, 256, 52, -0.4f, 0.0f, 0.0f, 0.0f, cloudsTexture, renderer); - clouds2A = new MovingSprite(0, base - 155 + 57, 256, 32, -0.2f, 0.0f, 0.0f, 0.0f, cloudsTexture, renderer); - clouds2B = new MovingSprite(256, base - 155 + 57, 256, 32, -0.2f, 0.0f, 0.0f, 0.0f, cloudsTexture, renderer); + const int cloudsHeight = base - 196; + clouds1A = new MovingSprite(0, cloudsHeight, rect.w, 52, -0.4f, 0.0f, 0.0f, 0.0f, cloudsTexture, renderer); + clouds1B = new MovingSprite(rect.w, cloudsHeight, rect.w, 52, -0.4f, 0.0f, 0.0f, 0.0f, cloudsTexture, renderer); + clouds2A = new MovingSprite(0, cloudsHeight + 57, rect.w, 32, -0.2f, 0.0f, 0.0f, 0.0f, cloudsTexture, renderer); + clouds2B = new MovingSprite(rect.w, cloudsHeight + 57, rect.w, 32, -0.2f, 0.0f, 0.0f, 0.0f, cloudsTexture, renderer); - buildingsSprite = new Sprite(0, 0, 256, 160, buildingsTexture, renderer); - gradientSprite = new Sprite(0, 0, 256, 192, gradientsTexture, renderer); + buildingsSprite = new Sprite(0, 0, rect.w, 135, buildingsTexture, renderer); + gradientSprite = new Sprite(0, 0, rect.w, rect.h, gradientsTexture, renderer); grassSprite = new Sprite(0, 0, 256, 6, grassTexture, renderer); // Inicializa objetos - clouds1A->setSpriteClip(0, 0, 256, 52); - clouds1B->setSpriteClip(0, 0, 256, 52); - clouds2A->setSpriteClip(0, 52, 256, 32); - clouds2B->setSpriteClip(0, 52, 256, 32); + clouds1A->setSpriteClip(0, 0, cloudsTexture->getWidth(), 52); + clouds1B->setSpriteClip(0, 0, cloudsTexture->getWidth(), 52); + clouds2A->setSpriteClip(0, 52, cloudsTexture->getWidth(), 32); + clouds2B->setSpriteClip(0, 52, cloudsTexture->getWidth(), 32); buildingsSprite->setPosY(base - buildingsSprite->getHeight()); grassSprite->setPosY(base - grassSprite->getHeight()); @@ -151,7 +152,7 @@ void Background::fillCanvas() buildingsSprite->render(); // Dibuja la hierba - grassSprite->render(); + //grassSprite->render(); // Deja el renderizador apuntando donde estaba SDL_SetRenderTarget(renderer, temp); diff --git a/source/game.cpp b/source/game.cpp index 2eb8244..0da5cd0 100644 --- a/source/game.cpp +++ b/source/game.cpp @@ -3150,6 +3150,7 @@ void Game::renderPausedGame() // Pinta el escenario fillCanvas(); + SDL_RenderCopy(renderer, canvas, nullptr, &playArea); if ((deathCounter <= 150) && !players[0]->isAlive()) { diff --git a/source/title.cpp b/source/title.cpp index 2735f0c..44e29c5 100644 --- a/source/title.cpp +++ b/source/title.cpp @@ -239,7 +239,7 @@ void Title::render() // Dibuja el mosacico de fondo tiledbg->render(); - // backgroundObj->render(); + //backgroundObj->render(); // Dinuja el logo con el título del juego gameLogo->render(); diff --git a/todo.txt b/todo.txt index d29f309..ed241b7 100644 --- a/todo.txt +++ b/todo.txt @@ -11,4 +11,5 @@ [x] Quitar los static de title / crear clase para el logo de coffee crisis [] Añadir mini logo a pantalla de titulo [] Estandarizar tipografias, dejar solo una (o dos) -[] Crear objeto encargado de los mensajes en pantalla (en vez de ser la clase game) \ No newline at end of file +[] Crear objeto encargado de los mensajes en pantalla (en vez de ser la clase game) +[] ABSOLUTAMENTE TODO ha de estar en un fichero de texto y en una variable PARAMETROS: fisicas, tamaños de zona de juego, formaciones enemigas... \ No newline at end of file