From 72cb39da780cff990eac2e687062b3f0c9393df1 Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Sat, 8 Mar 2025 22:23:40 +0100 Subject: [PATCH] canvi de pc --- data/gfx/intro/intro2.png | Bin 0 -> 15745 bytes source/director.cpp | 2 +- source/intro.cpp | 49 +++++++++++++++++++++----------------- 3 files changed, 28 insertions(+), 23 deletions(-) create mode 100644 data/gfx/intro/intro2.png diff --git a/data/gfx/intro/intro2.png b/data/gfx/intro/intro2.png new file mode 100644 index 0000000000000000000000000000000000000000..36f343f0982dde03b38cc17933ba6da352b6310c GIT binary patch literal 15745 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 literal 0 HcmV?d00001 diff --git a/source/director.cpp b/source/director.cpp index c120e1a..d76c862 100644 --- a/source/director.cpp +++ b/source/director.cpp @@ -474,7 +474,7 @@ void Director::setFileList() } { // Intro - Asset::get()->add(prefix + "/data/gfx/intro/intro.png", AssetType::BITMAP); + Asset::get()->add(prefix + "/data/gfx/intro/intro2.png", AssetType::BITMAP); } { // Logo diff --git a/source/intro.cpp b/source/intro.cpp index 3d09423..39036af 100644 --- a/source/intro.cpp +++ b/source/intro.cpp @@ -20,7 +20,7 @@ // Constructor Intro::Intro() - : texture_(Resource::get()->getTexture("intro.png")), + : texture_(Resource::get()->getTexture("intro2.png")), text_(Resource::get()->getText("04b_25_metal")) { @@ -28,67 +28,70 @@ Intro::Intro() section::name = section::Name::INTRO; section::options = section::Options::NONE; + const int BITMAP_WIDTH = texture_->getWidth() / 2; + const int BITMAP_HEIGHT = texture_->getHeight() / 3; + // Inicializa los bitmaps de la intro - constexpr int totalBitmaps = 6; - for (int i = 0; i < totalBitmaps; ++i) + constexpr int TOTAL_BITMAPS = 6; + for (int i = 0; i < TOTAL_BITMAPS; ++i) { auto ss = std::make_unique(texture_); - ss->setWidth(128); - ss->setHeight(96); + ss->setWidth(BITMAP_WIDTH); + ss->setHeight(BITMAP_HEIGHT); ss->setFinishedCounter(20); - ss->setDestX(param.game.game_area.center_x - 64); - ss->setDestY(param.game.game_area.first_quarter_y - 24); + ss->setDestX(param.game.game_area.center_x - (BITMAP_WIDTH / 2)); + ss->setDestY(param.game.game_area.first_quarter_y - (BITMAP_HEIGHT / 4)); bitmaps_.push_back(std::move(ss)); } - bitmaps_[0]->setPosX(-128); - bitmaps_[0]->setPosY(param.game.game_area.first_quarter_y - 24); + bitmaps_[0]->setPosX(-BITMAP_WIDTH); + bitmaps_[0]->setPosY(param.game.game_area.first_quarter_y - (BITMAP_HEIGHT / 4)); bitmaps_[0]->setVelX(0.0f); bitmaps_[0]->setVelY(0.0f); bitmaps_[0]->setAccelX(0.6f); bitmaps_[0]->setAccelY(0.0f); - bitmaps_[0]->setSpriteClip(0, 0, 128, 96); + bitmaps_[0]->setSpriteClip(0, 0, BITMAP_WIDTH, BITMAP_HEIGHT); bitmaps_[1]->setPosX(param.game.width); - bitmaps_[1]->setPosY(param.game.game_area.first_quarter_y - 24); + bitmaps_[1]->setPosY(param.game.game_area.first_quarter_y - (BITMAP_HEIGHT / 4)); bitmaps_[1]->setVelX(-1.0f); bitmaps_[1]->setVelY(0.0f); bitmaps_[1]->setAccelX(-0.3f); bitmaps_[1]->setAccelY(0.0f); - bitmaps_[1]->setSpriteClip(128, 0, 128, 96); + bitmaps_[1]->setSpriteClip(BITMAP_WIDTH, 0, BITMAP_WIDTH, BITMAP_HEIGHT); - bitmaps_[2]->setPosX(param.game.game_area.center_x - 64); - bitmaps_[2]->setPosY(-96); + bitmaps_[2]->setPosX(param.game.game_area.center_x - (BITMAP_WIDTH / 2)); + bitmaps_[2]->setPosY(-BITMAP_HEIGHT); bitmaps_[2]->setVelX(0.0f); bitmaps_[2]->setVelY(3.0f); bitmaps_[2]->setAccelX(0.1f); bitmaps_[2]->setAccelY(0.3f); - bitmaps_[2]->setSpriteClip(0, 96, 128, 96); + bitmaps_[2]->setSpriteClip(0, BITMAP_HEIGHT, BITMAP_WIDTH, BITMAP_HEIGHT); bitmaps_[2]->setFinishedCounter(250); - bitmaps_[3]->setPosX(param.game.game_area.center_x - 64); + bitmaps_[3]->setPosX(param.game.game_area.center_x - (BITMAP_WIDTH / 2)); bitmaps_[3]->setPosY(param.game.height); bitmaps_[3]->setVelX(0.0f); bitmaps_[3]->setVelY(-0.7f); bitmaps_[3]->setAccelX(0.0f); bitmaps_[3]->setAccelY(0.0f); - bitmaps_[3]->setSpriteClip(128, 96, 128, 96); + bitmaps_[3]->setSpriteClip(BITMAP_WIDTH, BITMAP_HEIGHT, BITMAP_WIDTH, BITMAP_HEIGHT); - bitmaps_[4]->setPosX(param.game.game_area.center_x - 64); - bitmaps_[4]->setPosY(-96); + bitmaps_[4]->setPosX(param.game.game_area.center_x - (BITMAP_WIDTH / 2)); + bitmaps_[4]->setPosY(-BITMAP_HEIGHT); bitmaps_[4]->setVelX(0.0f); bitmaps_[4]->setVelY(3.0f); bitmaps_[4]->setAccelX(0.1f); bitmaps_[4]->setAccelY(0.3f); - bitmaps_[4]->setSpriteClip(0, 192, 128, 96); + bitmaps_[4]->setSpriteClip(0, BITMAP_HEIGHT * 2, BITMAP_WIDTH, BITMAP_HEIGHT); bitmaps_[5]->setPosX(param.game.width); - bitmaps_[5]->setPosY(param.game.game_area.first_quarter_y - 24); + bitmaps_[5]->setPosY(param.game.game_area.first_quarter_y - (BITMAP_HEIGHT / 4)); bitmaps_[5]->setVelX(-0.7f); bitmaps_[5]->setVelY(0.0f); bitmaps_[5]->setAccelX(0.0f); bitmaps_[5]->setAccelY(0.0f); - bitmaps_[5]->setSpriteClip(128, 192, 128, 96); + bitmaps_[5]->setSpriteClip(BITMAP_WIDTH, BITMAP_HEIGHT * 2, BITMAP_WIDTH, BITMAP_HEIGHT); // Inicializa los textos de la intro constexpr int totalTexts = 9; @@ -140,7 +143,9 @@ Intro::Intro() texts_[8]->setSpeed(16); for (auto &text : texts_) + { text->center(param.game.game_area.center_x); + } } // Recarga todas las texturas