Treballant en la intro
This commit is contained in:
@@ -54,10 +54,8 @@ void Intro::updateScenes()
|
||||
case 0:
|
||||
{
|
||||
// Primera imagen - UPV
|
||||
if (!sprites_.at(0)->hasFinished())
|
||||
{
|
||||
sprites_.at(0)->enable();
|
||||
}
|
||||
sprites_.at(0)->enable();
|
||||
shadow_sprites_.at(0)->enable();
|
||||
|
||||
// Primer texto de la primera imagen
|
||||
if (sprites_.at(0)->hasFinished() && !texts_.at(0)->hasFinished())
|
||||
@@ -92,10 +90,8 @@ void Intro::updateScenes()
|
||||
case 1:
|
||||
{
|
||||
// Segunda imagen - Máquina
|
||||
if (!sprites_.at(1)->hasFinished())
|
||||
{
|
||||
sprites_.at(1)->enable();
|
||||
}
|
||||
sprites_.at(1)->enable();
|
||||
shadow_sprites_.at(1)->enable();
|
||||
|
||||
// Primer texto de la segunda imagen
|
||||
if (sprites_.at(1)->hasFinished() && !texts_.at(3)->hasFinished())
|
||||
@@ -112,12 +108,15 @@ void Intro::updateScenes()
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case 2:
|
||||
{
|
||||
// Tercera imagen junto con primer texto - GRITO
|
||||
if (!sprites_.at(2)->hasFinished() && !texts_.at(4)->hasFinished())
|
||||
if (!texts_.at(4)->hasFinished())
|
||||
{
|
||||
sprites_.at(2)->enable();
|
||||
shadow_sprites_.at(2)->enable();
|
||||
|
||||
texts_.at(4)->setEnabled(true);
|
||||
}
|
||||
|
||||
@@ -134,9 +133,11 @@ void Intro::updateScenes()
|
||||
case 3:
|
||||
{
|
||||
// Cuarta imagen junto con primer texto - Reflexión
|
||||
if (!sprites_.at(3)->hasFinished() && !texts_.at(5)->hasFinished())
|
||||
sprites_.at(3)->enable();
|
||||
shadow_sprites_.at(3)->enable();
|
||||
|
||||
if (!texts_.at(5)->hasFinished())
|
||||
{
|
||||
sprites_.at(3)->enable();
|
||||
texts_.at(5)->setEnabled(true);
|
||||
}
|
||||
|
||||
@@ -160,10 +161,8 @@ void Intro::updateScenes()
|
||||
case 4:
|
||||
{
|
||||
// Quinta imagen - Patada
|
||||
if (!sprites_.at(4)->hasFinished())
|
||||
{
|
||||
sprites_.at(4)->enable();
|
||||
}
|
||||
sprites_.at(4)->enable();
|
||||
shadow_sprites_.at(4)->enable();
|
||||
|
||||
// Primer texto de la quinta imagen
|
||||
if (sprites_.at(4)->hasFinished() && !texts_.at(7)->hasFinished())
|
||||
@@ -184,9 +183,11 @@ void Intro::updateScenes()
|
||||
case 5:
|
||||
{
|
||||
// Sexta imagen junto con texto - Globos de café
|
||||
if (!sprites_.at(5)->hasFinished() && !texts_.at(8)->hasFinished())
|
||||
sprites_.at(5)->enable();
|
||||
shadow_sprites_.at(5)->enable();
|
||||
|
||||
if (!texts_.at(8)->hasFinished())
|
||||
{
|
||||
sprites_.at(5)->enable();
|
||||
texts_.at(8)->setEnabled(true);
|
||||
}
|
||||
|
||||
@@ -289,23 +290,25 @@ void Intro::initSprites()
|
||||
sprite->setWidth(BITMAP_WIDTH);
|
||||
sprite->setHeight(BITMAP_HEIGHT);
|
||||
sprite->setSpriteClip(0, 0, BITMAP_WIDTH, BITMAP_HEIGHT);
|
||||
|
||||
// sprite->setFinishedCounter(20);
|
||||
// sprite->setDestX(param.game.game_area.center_x - (BITMAP_WIDTH / 2));
|
||||
// sprite->setDestY(param.game.game_area.first_quarter_y - (BITMAP_HEIGHT / 4));
|
||||
sprites_.push_back(std::move(sprite));
|
||||
}
|
||||
|
||||
sprites_.at(0)->addPath(-BITMAP_WIDTH, X_DEST, PathType::HORIZONTAL, Y_DEST, 100, easeOutQuint, 0);
|
||||
sprites_.at(1)->addPath(param.game.width, X_DEST, PathType::HORIZONTAL, Y_DEST, 100, easeOutQuint, 0);
|
||||
sprites_.at(2)->addPath(-BITMAP_HEIGHT, Y_DEST, PathType::VERTICAL, X_DEST, 100, easeOutQuint, 0);
|
||||
sprites_.at(3)->addPath(param.game.height, Y_DEST, PathType::VERTICAL, X_DEST, 100, easeOutQuint, 0);
|
||||
sprites_.at(4)->addPath(-BITMAP_HEIGHT, Y_DEST, PathType::VERTICAL, X_DEST, 100, easeOutQuint, 0);
|
||||
sprites_.at(5)->addPath(param.game.width, X_DEST, PathType::HORIZONTAL, Y_DEST, 100, easeOutQuint, 0);
|
||||
constexpr int BORDER = 4;
|
||||
sprites_.at(0)->addPath(-BITMAP_WIDTH - BORDER, X_DEST, PathType::HORIZONTAL, Y_DEST, 100, easeInOutExpo, 0);
|
||||
sprites_.at(1)->addPath(param.game.width, X_DEST, PathType::HORIZONTAL, Y_DEST, 100, easeOutBounce, 0);
|
||||
sprites_.at(2)->addPath(-BITMAP_HEIGHT, Y_DEST, PathType::VERTICAL, X_DEST, 40, easeOutQuint, 0);
|
||||
sprites_.at(3)->addPath(param.game.height, Y_DEST, PathType::VERTICAL, X_DEST, 800, easeOutQuint, 0);
|
||||
sprites_.at(4)->addPath(-BITMAP_HEIGHT, Y_DEST, PathType::VERTICAL, X_DEST, 70, easeOutElastic, 0);
|
||||
sprites_.at(5)->addPath(param.game.width, X_DEST, PathType::HORIZONTAL, Y_DEST, 400, easeOutQuint, 0);
|
||||
|
||||
// Crea la textura para la sombra
|
||||
const int S_BITMAP_WIDTH = BITMAP_WIDTH + BORDER;
|
||||
const int S_BITMAP_HEIGHT = BITMAP_HEIGHT + BORDER;
|
||||
const int S_X_DEST = X_DEST - BORDER / 2;
|
||||
const int S_Y_DEST = Y_DEST - BORDER / 2;;
|
||||
|
||||
auto shadow_texture = std::make_shared<Texture>(Screen::get()->getRenderer());
|
||||
shadow_texture->createBlank(BITMAP_WIDTH, BITMAP_HEIGHT, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET);
|
||||
shadow_texture->createBlank(S_BITMAP_WIDTH, S_BITMAP_HEIGHT, SDL_PIXELFORMAT_RGBA8888, SDL_TEXTUREACCESS_TARGET);
|
||||
shadow_texture->setBlendMode(SDL_BLENDMODE_BLEND);
|
||||
auto temp = SDL_GetRenderTarget(Screen::get()->getRenderer());
|
||||
shadow_texture->setAsRenderTarget(Screen::get()->getRenderer());
|
||||
@@ -313,8 +316,22 @@ void Intro::initSprites()
|
||||
SDL_RenderClear(Screen::get()->getRenderer());
|
||||
SDL_SetRenderTarget(Screen::get()->getRenderer(), temp);
|
||||
|
||||
// Inicializa el sprite para la sombra
|
||||
shadow_sprite_ = std::make_unique<Sprite>(shadow_texture, sprites_.front()->getRect());
|
||||
// Inicializa los sprites para la sombra
|
||||
for (int i = 0; i < TOTAL_BITMAPS; ++i)
|
||||
{
|
||||
auto sprite = std::make_unique<PathSprite>(shadow_texture);
|
||||
sprite->setWidth(S_BITMAP_WIDTH);
|
||||
sprite->setHeight(S_BITMAP_HEIGHT);
|
||||
sprite->setSpriteClip(0, 0, S_BITMAP_WIDTH, S_BITMAP_HEIGHT);
|
||||
shadow_sprites_.push_back(std::move(sprite));
|
||||
}
|
||||
|
||||
shadow_sprites_.at(0)->addPath(param.game.height, S_Y_DEST, PathType::VERTICAL, S_X_DEST, 100, easeInOutExpo, 0);
|
||||
shadow_sprites_.at(1)->addPath(-S_BITMAP_HEIGHT, S_Y_DEST, PathType::VERTICAL, S_X_DEST, 100, easeOutBounce, 0);
|
||||
shadow_sprites_.at(2)->addPath(-S_BITMAP_WIDTH, S_X_DEST, PathType::HORIZONTAL, S_Y_DEST, 40, easeOutQuint, 0);
|
||||
shadow_sprites_.at(3)->addPath(param.game.width, S_X_DEST, PathType::HORIZONTAL, S_Y_DEST, 800, easeOutQuint, 0);
|
||||
shadow_sprites_.at(4)->addPath(param.game.height, S_Y_DEST, PathType::VERTICAL, S_X_DEST, 70, easeOutElastic, 0);
|
||||
shadow_sprites_.at(5)->addPath(-S_BITMAP_HEIGHT, S_Y_DEST, PathType::VERTICAL, S_X_DEST, 400, easeOutQuint, 0);
|
||||
}
|
||||
|
||||
// Inicializa los textos
|
||||
@@ -377,13 +394,15 @@ void Intro::initTexts()
|
||||
// Actualiza los sprites
|
||||
void Intro::updateSprites()
|
||||
{
|
||||
for (auto &bitmap : sprites_)
|
||||
for (auto &sprite : sprites_)
|
||||
{
|
||||
bitmap->update();
|
||||
sprite->update();
|
||||
}
|
||||
|
||||
for (auto &sprite : shadow_sprites_)
|
||||
{
|
||||
sprite->update();
|
||||
}
|
||||
const int X = sprites_.at(scene_)->getX() + 2;
|
||||
const int Y = sprites_.at(scene_)->getY() + 2;
|
||||
shadow_sprite_->setPosition(X, Y);
|
||||
}
|
||||
|
||||
// Actualiza los textos
|
||||
@@ -398,7 +417,7 @@ void Intro::updateTexts()
|
||||
// Dibuja los sprites
|
||||
void Intro::renderSprites()
|
||||
{
|
||||
shadow_sprite_->render();
|
||||
shadow_sprites_.at(scene_)->render();
|
||||
sprites_.at(scene_)->render();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user