Optimizados algunos png

This commit is contained in:
2022-10-05 22:37:37 +02:00
parent 02312e1342
commit 2576d62002
17 changed files with 49 additions and 33 deletions

View File

@@ -33,5 +33,5 @@ frames=36,37,38,39,40,41,42,43,44,45
name=pop
speed=5
loop=-1
frames=60,61,62,63,64,65,66,67,68,69,70,71
frames=48,49,50,51,52,53,54,55,56,57,58,59
[/animation]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -33,5 +33,5 @@ frames=36,37,38,39,40,41,42,43,44,45
name=pop
speed=5
loop=-1
frames=60,61,62,63,64,65,66,67,68,69,70,71
frames=48,49,50,51,52,53,54,55,56,57,58,59
[/animation]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -33,5 +33,5 @@ frames=36,37,38,39,40,41,42,43,44,45
name=pop
speed=5
loop=-1
frames=60,61,62,63,64,65,66,67,68,69,70,71
frames=48,49,50,51,52,53,54,55,56,57,58,59
[/animation]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@@ -33,12 +33,12 @@ frames=36,37,38,39,40,41,42,43,44,45
name=powerball
speed=10
loop=0
frames=48
frames=10
[/animation]
[animation]
name=pop
speed=5
loop=-1
frames=60,61,62,63,64,65,66,67,68,69,70,71
frames=48,49,50,51,52,53,54,55,56,57,58,59
[/animation]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -326,7 +326,7 @@ void Balloon::render()
if (kind == POWER_BALL)
{
Sprite *sp = new Sprite(sprite->getRect(), sprite->getTexture(), sprite->getRenderer());
sp->setSpriteClip(370, 148, 37, 37);
sp->setSpriteClip(407, 0, 37, 37);
sp->render();
delete sp;
}
@@ -339,7 +339,7 @@ void Balloon::render()
if (kind == POWER_BALL and !popping)
{
Sprite *sp = new Sprite(sprite->getRect(), sprite->getTexture(), sprite->getRenderer());
sp->setSpriteClip(370, 148, 37, 37);
sp->setSpriteClip(407, 0, 37, 37);
sp->render();
delete sp;
}

View File

@@ -12,6 +12,9 @@ Director::Director(std::string path)
section.name = PROG_SECTION_GAME;
section.subsection = GAME_SECTION_PLAY_1P;
section.name = PROG_SECTION_LOGO;
section.subsection = 0;
// Crea el objeto que controla los ficheros de recursos
asset = new Asset(path.substr(0, path.find_last_of("\\/")) + "/../");

View File

@@ -27,10 +27,6 @@ Game::Game(int numPlayers, int currentStage, SDL_Renderer *renderer, Screen *scr
fade = new Fade(renderer);
eventHandler = new SDL_Event();
// std::vector<std::vector<std::string> *> *itemAnimations = new std::vector<std::vector<std::string> *>;
// std::vector<std::vector<std::string> *> *playerAnimations = new std::vector<std::vector<std::string> *>;
// std::vector<std::vector<std::string> *> *balloonAnimations = new std::vector<std::vector<std::string> *>;
// Carga los recursos
loadMedia();
@@ -1603,7 +1599,7 @@ void Game::renderScoreBoard()
powerMeterSprite->setSpriteClip(0, 0, 40, 7);
powerMeterSprite->render();
const float percent = (stage[currentStage].currentPower * 40.0f) / stage[currentStage].powerToComplete;
powerMeterSprite->setSpriteClip(0, 0, (int)percent, 7);
powerMeterSprite->setSpriteClip(40, 0, (int)percent, 7);
powerMeterSprite->render();
// HI-SCORE
@@ -1705,7 +1701,6 @@ void Game::updateDeath()
// Comprueba si todos los jugadores estan muertos
bool allAreDead = true;
for (auto player : players)
// for (int i = 0; i < numPlayers; i++)
{
allAreDead &= (!player->isAlive());
@@ -1764,12 +1759,15 @@ void Game::updateDeath()
case 0:
JA_PlaySound(bubble1Sound, 0);
break;
case 1:
JA_PlaySound(bubble2Sound, 0);
break;
case 2:
JA_PlaySound(bubble3Sound, 0);
break;
case 3:
JA_PlaySound(bubble4Sound, 0);
break;
@@ -1882,13 +1880,24 @@ void Game::incBalloonSpeed()
if (difficulty == DIFFICULTY_NORMAL)
{
if (enemySpeed == BALLOON_SPEED_1)
{
enemySpeed = BALLOON_SPEED_2;
}
else if (enemySpeed == BALLOON_SPEED_2)
{
enemySpeed = BALLOON_SPEED_3;
}
else if (enemySpeed == BALLOON_SPEED_3)
{
enemySpeed = BALLOON_SPEED_4;
}
else if (enemySpeed == BALLOON_SPEED_4)
{
enemySpeed = BALLOON_SPEED_5;
}
setBalloonSpeed(enemySpeed);
}
@@ -1901,13 +1910,24 @@ void Game::decBalloonSpeed()
if (difficulty == DIFFICULTY_NORMAL)
{
if (enemySpeed == BALLOON_SPEED_5)
{
enemySpeed = BALLOON_SPEED_4;
}
else if (enemySpeed == BALLOON_SPEED_4)
{
enemySpeed = BALLOON_SPEED_3;
}
else if (enemySpeed == BALLOON_SPEED_3)
{
enemySpeed = BALLOON_SPEED_2;
}
else if (enemySpeed == BALLOON_SPEED_2)
{
enemySpeed = BALLOON_SPEED_1;
}
setBalloonSpeed(enemySpeed);
}
@@ -2447,8 +2467,7 @@ Uint8 Game::dropItem()
// Crea un objeto item
void Game::createItem(Uint8 kind, float x, float y)
{
const int index = kind - 1;
Item *item = new Item(kind, x, y, itemTextures.at(index), itemAnimations.at(index), renderer);
Item *item = new Item(kind, x, y, itemTextures.at(kind), itemAnimations.at(kind), renderer);
items.push_back(item);
}
@@ -2559,8 +2578,6 @@ void Game::throwPlayer(int x, int y, Player *player)
{
const int sentit = ((rand() % 2) ? 1 : -1);
// player->deathIndex = getSmartSpriteFreeIndex();
SmartSprite *ss = new SmartSprite(nullptr, renderer);
smartSprites.push_back(ss);

View File

@@ -8,13 +8,12 @@
#define ITEM_H
// Tipos de objetos
#define ITEM_POINTS_1_DISK 1
#define ITEM_POINTS_2_GAVINA 2
#define ITEM_POINTS_3_PACMAR 3
#define ITEM_CLOCK 4
#define ITEM_COFFEE 5
#define ITEM_POWER_BALL 6
#define ITEM_COFFEE_MACHINE 7
#define ITEM_POINTS_1_DISK 0
#define ITEM_POINTS_2_GAVINA 1
#define ITEM_POINTS_3_PACMAR 2
#define ITEM_CLOCK 3
#define ITEM_COFFEE 4
#define ITEM_COFFEE_MACHINE 5
// Clase Item
class Item

View File

@@ -14,7 +14,7 @@ Logo::Logo(SDL_Renderer *renderer, Screen *screen, Asset *asset)
// Reserva memoria para los punteros
eventHandler = new SDL_Event();
texture = new LTexture(renderer, asset->get("logo.png"));
sprite = new Sprite(0, 0, GAME_WIDTH, GAME_HEIGHT, texture, renderer);
sprite = new Sprite(14, 75, 226, 44, texture, renderer);
// Inicializa variables
counter = 0;
@@ -104,7 +104,7 @@ void Logo::render()
screen->start();
// Limpia la pantalla
screen->clean(bgColor);
screen->clean({238, 238, 238});
// Dibuja los objetos
sprite->render();

View File

@@ -35,7 +35,6 @@ void Player::init()
// Inicializa variables de estado
alive = true;
deathCounter = DEATH_COUNTER;
deathIndex = 0;
statusWalking = PLAYER_STATUS_WALKING_STOP;
statusFiring = PLAYER_STATUS_FIRING_NO;
invulnerable = false;
@@ -534,7 +533,7 @@ void Player::shiftColliders()
// Obtiene el puntero a la textura con los gráficos de la animación de morir
LTexture *Player::getDeadTexture()
{
//return deathTexture;
return deathSprite->getTexture();;
}
// Obtiene el valor de la variable

View File

@@ -82,6 +82,7 @@ private:
bool extraHit; // Indica si el jugador tiene un toque extra
Uint8 coffees; // Indica cuantos cafes lleva acumulados
bool powerUp; // Indica si el jugador tiene activo el modo PowerUp
Uint16 powerUpCounter; // Temporizador para el modo PowerUp
bool input; // Indica si puede recibir ordenes de entrada
circle_t collider; // Circulo de colisión del jugador
@@ -98,9 +99,6 @@ private:
void updatePowerUpHeadOffset();
public:
Uint8 deathIndex; // Apaño rapidito. Indice de SmartSprite donde esta ubicado el sprite de morirse
Uint16 powerUpCounter; // Temporizador para el modo PowerUp
// Constructor
Player(float x, int y, SDL_Renderer *renderer, std::vector<LTexture *> texture, std::vector<std::vector<std::string> *> animations);

View File

@@ -18,7 +18,7 @@ Sprite::Sprite(int x, int y, int w, int h, LTexture *texture, SDL_Renderer *rend
this->texture = texture;
// Establece el rectangulo de donde coger la imagen
spriteClip = {x, y, w, h};
spriteClip = {0, 0, w, h};
// Inicializa variables
enabled = true;
@@ -41,7 +41,7 @@ Sprite::Sprite(SDL_Rect rect, LTexture *texture, SDL_Renderer *renderer)
this->texture = texture;
// Establece el rectangulo de donde coger la imagen
spriteClip = {x, y, w, h};
spriteClip = {0, 0, w, h};
// Inicializa variables
enabled = true;