From 466e572841d3f7af86df4b27cb87dec900679a24 Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Thu, 25 Jul 2024 12:48:36 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20corregido=20error=20al=20dibujar=20textu?= =?UTF-8?q?ras=20desde=20gif.=20Faltaba=20activar=20el=20blendmode=20a?= =?UTF-8?q?=C3=B1adidas=20mas=20paletas=20para=20el=20jugador1=20cambiada?= =?UTF-8?q?=20la=20manera=20de=20representar=20la=20inmunidad=20para=20el?= =?UTF-8?q?=20jugador?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/gfx/player1_pal2.gif | Bin 0 -> 173 bytes data/gfx/player1_pal3.gif | Bin 0 -> 173 bytes source/common/texture.cpp | 5 +++-- source/director.cpp | 2 ++ source/game.cpp | 2 ++ source/player.cpp | 35 +++++++++++------------------------ 6 files changed, 18 insertions(+), 26 deletions(-) create mode 100644 data/gfx/player1_pal2.gif create mode 100644 data/gfx/player1_pal3.gif diff --git a/data/gfx/player1_pal2.gif b/data/gfx/player1_pal2.gif new file mode 100644 index 0000000000000000000000000000000000000000..58a13f65b0e885606aebdd929ac413e5249af9ef GIT binary patch literal 173 zcmZ?wbh9u|6kuRtIKlt|ekOXc4(7Q&j-{ogd-v{r@Zdp*Q}8sW;9ZGfpK}s!P6>TB zH|o=}I3tICGq*X`-Ye__w_aN!^?051`|YxS4$8fI_wN7y*I<*d5Q_h~{aizWogD*Q zjr0td8G%X^f3k3L0cjnOa*#6^Sj80tIG6(^*e7XlU$)>E@e~e?6kqVZii5!#08B75 A0{{R3 literal 0 HcmV?d00001 diff --git a/data/gfx/player1_pal3.gif b/data/gfx/player1_pal3.gif new file mode 100644 index 0000000000000000000000000000000000000000..8adecb701cd5c74d16dd8d4edf3d49ba7b0275b9 GIT binary patch literal 173 zcmZ?wbh9u|6kuRtIKlt|52yjaCSf5I|8x7fh6Fo12DlpO889;fl_>sX;p76+Iw0jB iXE3meD+q8f2THI{(%`;q!7t(|92zOU;C&SbgEasZzeadd(prefix + "/data/gfx/player1.gif", t_bitmap); asset->add(prefix + "/data/gfx/player1_pal1.gif", t_bitmap); + asset->add(prefix + "/data/gfx/player1_pal2.gif", t_bitmap); + asset->add(prefix + "/data/gfx/player1_pal3.gif", t_bitmap); asset->add(prefix + "/data/gfx/player2.gif", t_bitmap); asset->add(prefix + "/data/gfx/player.ani", t_data); asset->add(prefix + "/data/gfx/player1_power.gif", t_bitmap); diff --git a/source/game.cpp b/source/game.cpp index 2d80081..504e3ae 100644 --- a/source/game.cpp +++ b/source/game.cpp @@ -455,6 +455,8 @@ void Game::loadMedia() // Texturas - Player1 Texture *player1 = new Texture(renderer, asset->get("player1.gif")); player1->addPalette(asset->get("player1_pal1.gif")); + player1->addPalette(asset->get("player1_pal2.gif")); + player1->addPalette(asset->get("player1_pal3.gif")); player1Textures.push_back(player1); Texture *player1Power = new Texture(renderer, asset->get("player1_power.gif")); diff --git a/source/player.cpp b/source/player.cpp index f0e89a6..874e1a3 100644 --- a/source/player.cpp +++ b/source/player.cpp @@ -155,32 +155,12 @@ void Player::move() // Pinta el jugador en pantalla void Player::render() { - if (isAlive()) + if (powerUp) { - if (invulnerable) - { - if ((invulnerableCounter % 6) > 2) - { - if (powerUp) - { - powerSprite->render(); - } - playerSprite->render(); - } - } - else - { - if (powerUp) - { - powerSprite->render(); - } - playerSprite->render(); - } - } - else - { - playerSprite->render(); + powerSprite->render(); } + + playerSprite->render(); } // Establece el estado del jugador cuando camina @@ -302,6 +282,10 @@ void Player::update() updateCooldown(); updatePowerUpCounter(); updateInvulnerableCounter(); + if (invulnerable) + { + invulnerableCounter % 8 > 3 ? playerSprite->getTexture()->setPalette(coffees) : playerSprite->getTexture()->setPalette(3); + } } // Obtiene la puntuación del jugador @@ -407,6 +391,7 @@ void Player::updateInvulnerableCounter() { invulnerable = false; invulnerableCounter = PLAYER_INVULNERABLE_COUNTER; + playerSprite->getTexture()->setPalette(0); } } } @@ -464,6 +449,7 @@ void Player::giveExtraHit() { coffees++; } + playerSprite->getTexture()->setPalette(coffees); } // Quita el toque extra al jugador @@ -481,6 +467,7 @@ void Player::removeExtraHit() invulnerable = true; invulnerableCounter = PLAYER_INVULNERABLE_COUNTER; + playerSprite->getTexture()->setPalette(coffees); } // Habilita la entrada de ordenes