added power up on the player
This commit is contained in:
@@ -31,6 +31,7 @@ Game::Game(SDL_Renderer *renderer, std::string *filelist, std::string *textStrin
|
||||
mTextureGameBG = new LTexture();
|
||||
mTextureGameText = new LTexture();
|
||||
mTextureItems = new LTexture();
|
||||
mTexturePlayerHead = new LTexture();
|
||||
mTexturePlayerBody = new LTexture();
|
||||
mTexturePlayerDeath = new LTexture();
|
||||
mTexturePlayerLegs = new LTexture();
|
||||
@@ -123,6 +124,10 @@ Game::~Game()
|
||||
delete mTextureItems;
|
||||
mTextureItems = nullptr;
|
||||
|
||||
mTexturePlayerHead->unload();
|
||||
delete mTexturePlayerHead;
|
||||
mTexturePlayerHead = nullptr;
|
||||
|
||||
mTexturePlayerBody->unload();
|
||||
delete mTexturePlayerBody;
|
||||
mTexturePlayerBody = nullptr;
|
||||
@@ -352,7 +357,7 @@ void Game::init()
|
||||
mSpritePowerMeter->setSpriteClip(256, 192 - 8, 40, 8);
|
||||
|
||||
// Objeto jugador
|
||||
mPlayer->init(PLAY_AREA_CENTER_X - 11, PLAY_AREA_BOTTOM - 24, mTexturePlayerLegs, mTexturePlayerBody, mRenderer);
|
||||
mPlayer->init(PLAY_AREA_CENTER_X - 11, PLAY_AREA_BOTTOM - 24, mTexturePlayerLegs, mTexturePlayerBody, mTexturePlayerHead, mRenderer);
|
||||
|
||||
// Establece a cero todos los valores del vector de objetos globo
|
||||
resetBalloons();
|
||||
@@ -439,6 +444,7 @@ bool Game::loadMedia()
|
||||
success &= loadTextureFromFile(mTextureText, mFileList[30], mRenderer);
|
||||
success &= loadTextureFromFile(mTextureText2, mFileList[29], mRenderer);
|
||||
success &= loadTextureFromFile(mTexturePlayerLegs, mFileList[39], mRenderer);
|
||||
success &= loadTextureFromFile(mTexturePlayerHead, mFileList[41], mRenderer);
|
||||
success &= loadTextureFromFile(mTexturePlayerBody, mFileList[37], mRenderer);
|
||||
success &= loadTextureFromFile(mTexturePlayerDeath, mFileList[38], mRenderer);
|
||||
success &= loadTextureFromFile(mTextureBalloon, mFileList[24], mRenderer);
|
||||
@@ -2085,9 +2091,9 @@ void Game::resetBullets()
|
||||
}
|
||||
|
||||
// Crea un objeto bala
|
||||
void Game::createBullet(int x, int y, Uint8 kind)
|
||||
void Game::createBullet(int x, int y, Uint8 kind, bool poweredUp)
|
||||
{
|
||||
mBullet[getBulletFreeIndex()]->init(x, y, kind, mTextureBullet, mRenderer);
|
||||
mBullet[getBulletFreeIndex()]->init(x, y, kind, poweredUp, mTextureBullet, mRenderer);
|
||||
}
|
||||
|
||||
// Actualiza los items
|
||||
@@ -2582,7 +2588,7 @@ void Game::checkGameInput()
|
||||
if (mPlayer->canFire())
|
||||
{
|
||||
mPlayer->setInput(INPUT_FIRE_UP);
|
||||
createBullet(mPlayer->getPosX() + (mPlayer->getWidth() / 2) - 4, mPlayer->getPosY() + (mPlayer->getHeight() / 2), BULLET_UP);
|
||||
createBullet(mPlayer->getPosX() + (mPlayer->getWidth() / 2) - 4, mPlayer->getPosY() + (mPlayer->getHeight() / 2), BULLET_UP, mPlayer->isPowerUp());
|
||||
mPlayer->setFireCooldown(10);
|
||||
}
|
||||
|
||||
@@ -2590,7 +2596,7 @@ void Game::checkGameInput()
|
||||
if (mPlayer->canFire())
|
||||
{
|
||||
mPlayer->setInput(INPUT_FIRE_LEFT);
|
||||
createBullet(mPlayer->getPosX() + (mPlayer->getWidth() / 2) - 4, mPlayer->getPosY() + (mPlayer->getHeight() / 2), BULLET_UP);
|
||||
createBullet(mPlayer->getPosX() + (mPlayer->getWidth() / 2) - 4, mPlayer->getPosY() + (mPlayer->getHeight() / 2), BULLET_UP, mPlayer->isPowerUp());
|
||||
mPlayer->setFireCooldown(10);
|
||||
}
|
||||
|
||||
@@ -2598,7 +2604,7 @@ void Game::checkGameInput()
|
||||
if (mPlayer->canFire())
|
||||
{
|
||||
mPlayer->setInput(INPUT_FIRE_RIGHT);
|
||||
createBullet(mPlayer->getPosX() + (mPlayer->getWidth() / 2) - 4, mPlayer->getPosY() + (mPlayer->getHeight() / 2), BULLET_UP);
|
||||
createBullet(mPlayer->getPosX() + (mPlayer->getWidth() / 2) - 4, mPlayer->getPosY() + (mPlayer->getHeight() / 2), BULLET_UP, mPlayer->isPowerUp());
|
||||
mPlayer->setFireCooldown(10);
|
||||
}
|
||||
|
||||
@@ -2642,7 +2648,7 @@ void Game::checkGameInput()
|
||||
if (mPlayer->canFire())
|
||||
{
|
||||
mPlayer->setInput(INPUT_FIRE_UP);
|
||||
createBullet(mPlayer->getPosX() + (mPlayer->getWidth() / 2) - 4, mPlayer->getPosY() + (mPlayer->getHeight() / 2), BULLET_UP);
|
||||
createBullet(mPlayer->getPosX() + (mPlayer->getWidth() / 2) - 4, mPlayer->getPosY() + (mPlayer->getHeight() / 2), BULLET_UP, mPlayer->isPowerUp());
|
||||
mPlayer->setFireCooldown(10);
|
||||
|
||||
// Reproduce el sonido de disparo
|
||||
@@ -2652,13 +2658,13 @@ void Game::checkGameInput()
|
||||
}
|
||||
}
|
||||
|
||||
// Comprueba el input de desiparar a la izquierda
|
||||
// Comprueba el input de disparar a la izquierda
|
||||
if (mInput->checkInput(INPUT_BUTTON_1, REPEAT_TRUE))
|
||||
{
|
||||
if (mPlayer->canFire())
|
||||
{
|
||||
mPlayer->setInput(INPUT_FIRE_LEFT);
|
||||
createBullet(mPlayer->getPosX() + (mPlayer->getWidth() / 2) - 4, mPlayer->getPosY() + (mPlayer->getHeight() / 2), BULLET_LEFT);
|
||||
createBullet(mPlayer->getPosX() + (mPlayer->getWidth() / 2) - 4, mPlayer->getPosY() + (mPlayer->getHeight() / 2), BULLET_LEFT, mPlayer->isPowerUp());
|
||||
mPlayer->setFireCooldown(10);
|
||||
|
||||
// Reproduce el sonido de disparo
|
||||
@@ -2674,7 +2680,7 @@ void Game::checkGameInput()
|
||||
if (mPlayer->canFire())
|
||||
{
|
||||
mPlayer->setInput(INPUT_FIRE_RIGHT);
|
||||
createBullet(mPlayer->getPosX() + (mPlayer->getWidth() / 2) - 4, mPlayer->getPosY() + (mPlayer->getHeight() / 2), BULLET_RIGHT);
|
||||
createBullet(mPlayer->getPosX() + (mPlayer->getWidth() / 2) - 4, mPlayer->getPosY() + (mPlayer->getHeight() / 2), BULLET_RIGHT, mPlayer->isPowerUp());
|
||||
mPlayer->setFireCooldown(10);
|
||||
|
||||
// Reproduce el sonido de disparo
|
||||
|
||||
Reference in New Issue
Block a user