Resuelto un bug en la colision de balas con globos

This commit is contained in:
2022-10-04 14:16:22 +02:00
parent c3fd348a61
commit 9f93de1d06
5 changed files with 22 additions and 7 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -318,6 +318,14 @@ void Balloon::render()
{ {
mSprite->render(); mSprite->render();
} }
if (mKind == POWER_BALL)
{
Sprite *sp = new Sprite(mSprite->getRect() ,mSprite->getTexture(),mSprite->getRenderer());
sp->setSpriteClip(370,148,37,37);
sp->render();
delete sp;
}
} }
} }
@@ -667,10 +675,8 @@ Uint8 Balloon::getClass()
{ {
return HEXAGON_CLASS; return HEXAGON_CLASS;
} }
else
{ return BALLOON_CLASS;
return 0;
}
} }
// Establece el valor de la variable // Establece el valor de la variable

View File

@@ -1877,7 +1877,7 @@ void Game::popBalloon(Balloon *balloon)
{ {
balloons.at(index)->setVelY(-2.50f); balloons.at(index)->setVelY(-2.50f);
} }
else if (balloons.at(index)->getClass() == HEXAGON_CLASS) else
{ {
balloons.at(index)->setVelY(BALLOON_VELX_NEGATIVE); balloons.at(index)->setVelY(BALLOON_VELX_NEGATIVE);
} }
@@ -1888,7 +1888,7 @@ void Game::popBalloon(Balloon *balloon)
{ {
balloons.at(index2)->setVelY(-2.50f); balloons.at(index2)->setVelY(-2.50f);
} }
else if (balloons.at(index2)->getClass() == HEXAGON_CLASS) else
{ {
balloons.at(index2)->setVelY(BALLOON_VELX_NEGATIVE); balloons.at(index2)->setVelY(BALLOON_VELX_NEGATIVE);
} }
@@ -2472,7 +2472,7 @@ void Game::updateShakeEffect()
// Crea un SmartSprite para arrojar el item café al recibir un impacto // Crea un SmartSprite para arrojar el item café al recibir un impacto
void Game::throwCoffee(int x, int y) void Game::throwCoffee(int x, int y)
{ {
SmartSprite *ss = new SmartSprite(nullptr, mRenderer); SmartSprite *ss = new SmartSprite(mTextureItems, mRenderer);
smartSprites.push_back(ss); smartSprites.push_back(ss);
ss->setPosX(x - 8); ss->setPosX(x - 8);

View File

@@ -148,6 +148,12 @@ void Sprite::setTexture(LTexture *texture)
this->texture = texture; this->texture = texture;
} }
// Obten el valor de la variable
SDL_Renderer *Sprite::getRenderer()
{
return renderer;
}
// Establece el valor de la variable // Establece el valor de la variable
void Sprite::setRenderer(SDL_Renderer *renderer) void Sprite::setRenderer(SDL_Renderer *renderer)
{ {

View File

@@ -74,6 +74,9 @@ public:
// Establece el valor de la variable // Establece el valor de la variable
void setTexture(LTexture *texture); void setTexture(LTexture *texture);
// Obten el valor de la variable
SDL_Renderer *getRenderer();
// Establece el valor de la variable // Establece el valor de la variable
void setRenderer(SDL_Renderer *renderer); void setRenderer(SDL_Renderer *renderer);