La powerball ja no es pot destruir fins que no ha fet un rebot
This commit is contained in:
@@ -1,9 +1,9 @@
|
|||||||
frame_width=46
|
frame_width=49
|
||||||
frame_height=46
|
frame_height=49
|
||||||
|
|
||||||
[animation]
|
[animation]
|
||||||
name=powerball
|
name=powerball
|
||||||
speed=10
|
speed=10
|
||||||
loop=-1
|
loop=-1
|
||||||
frames=0
|
frames=1
|
||||||
[/animation]
|
[/animation]
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.6 KiB |
@@ -107,15 +107,27 @@ void Balloon::render()
|
|||||||
{
|
{
|
||||||
if (type_ == BalloonType::POWERBALL)
|
if (type_ == BalloonType::POWERBALL)
|
||||||
{
|
{
|
||||||
// Renderizado para la PowerBall
|
// Renderiza el fondo azul
|
||||||
SDL_Point p = {24, 24};
|
{
|
||||||
sprite_->setRotatingCenter(&p);
|
auto sp = std::make_unique<Sprite>(sprite_->getTexture(), sprite_->getPosition());
|
||||||
sprite_->render();
|
sp->setSpriteClip(0, 0, BALLOON_SIZE[4], BALLOON_SIZE[4]);
|
||||||
|
sp->render();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Renderiza la estrella
|
||||||
|
if (!invulnerable_)
|
||||||
|
{
|
||||||
|
SDL_Point p = {24, 24};
|
||||||
|
sprite_->setRotatingCenter(&p);
|
||||||
|
sprite_->render();
|
||||||
|
}
|
||||||
|
|
||||||
// Añade la máscara del borde y los reflejos
|
// Añade la máscara del borde y los reflejos
|
||||||
auto sp = std::make_unique<Sprite>(sprite_->getTexture(), sprite_->getPosition());
|
{
|
||||||
sp->setSpriteClip(BALLOON_SIZE[4], 0, BALLOON_SIZE[4], BALLOON_SIZE[4]);
|
auto sp = std::make_unique<Sprite>(sprite_->getTexture(), sprite_->getPosition());
|
||||||
sp->render();
|
sp->setSpriteClip(BALLOON_SIZE[4] * 2, 0, BALLOON_SIZE[4], BALLOON_SIZE[4]);
|
||||||
|
sp->render();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -167,18 +179,6 @@ void Balloon::move()
|
|||||||
// Mueve el globo en vertical
|
// Mueve el globo en vertical
|
||||||
y_ += vy_ * speed_;
|
y_ += vy_ * speed_;
|
||||||
|
|
||||||
// Colisión en la parte superior de la zona de juego excepto para la PowerBall
|
|
||||||
/*if (type_ != BalloonType::POWERBALL)
|
|
||||||
{
|
|
||||||
const int min_y = play_area_.y;
|
|
||||||
if (y_ < min_y)
|
|
||||||
{
|
|
||||||
y_ = min_y;
|
|
||||||
vy_ = -vy_;
|
|
||||||
enableBounce();
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
||||||
// Colisión en la parte superior solo si el globo va de subida
|
// Colisión en la parte superior solo si el globo va de subida
|
||||||
if (vy_ < 0)
|
if (vy_ < 0)
|
||||||
{
|
{
|
||||||
@@ -203,6 +203,10 @@ void Balloon::move()
|
|||||||
{
|
{
|
||||||
enableBounce();
|
enableBounce();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
setInvulnerable(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -220,6 +220,7 @@ void BalloonManager::createPowerBall()
|
|||||||
const float vx[values] = {BALLOON_VELX_POSITIVE, BALLOON_VELX_POSITIVE, BALLOON_VELX_POSITIVE, BALLOON_VELX_NEGATIVE, BALLOON_VELX_NEGATIVE, BALLOON_VELX_NEGATIVE};
|
const float vx[values] = {BALLOON_VELX_POSITIVE, BALLOON_VELX_POSITIVE, BALLOON_VELX_POSITIVE, BALLOON_VELX_NEGATIVE, BALLOON_VELX_NEGATIVE, BALLOON_VELX_NEGATIVE};
|
||||||
|
|
||||||
balloons_.emplace_back(std::make_unique<Balloon>(x[luck], pos_y, BalloonType::POWERBALL, BalloonSize::SIZE4, vx[luck], balloon_speed_, creation_time, play_area_, balloon_textures_[4], balloon_animations_[4]));
|
balloons_.emplace_back(std::make_unique<Balloon>(x[luck], pos_y, BalloonType::POWERBALL, BalloonSize::SIZE4, vx[luck], balloon_speed_, creation_time, play_area_, balloon_textures_[4], balloon_animations_[4]));
|
||||||
|
balloons_.back()->setInvulnerable(true);
|
||||||
|
|
||||||
power_ball_enabled_ = true;
|
power_ball_enabled_ = true;
|
||||||
power_ball_counter_ = POWERBALL_COUNTER;
|
power_ball_counter_ = POWERBALL_COUNTER;
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ Director::Director(int argc, const char *argv[])
|
|||||||
section::name = section::Name::GAME;
|
section::name = section::Name::GAME;
|
||||||
section::options = section::Options::GAME_PLAY_1P;
|
section::options = section::Options::GAME_PLAY_1P;
|
||||||
#elif DEBUG
|
#elif DEBUG
|
||||||
section::name = section::Name::CREDITS;
|
section::name = section::Name::GAME;
|
||||||
#else // NORMAL GAME
|
#else // NORMAL GAME
|
||||||
section::name = section::Name::LOGO;
|
section::name = section::Name::LOGO;
|
||||||
section::attract_mode = section::AttractMode::TITLE_TO_DEMO;
|
section::attract_mode = section::AttractMode::TITLE_TO_DEMO;
|
||||||
|
|||||||
Reference in New Issue
Block a user