Añadiendo efectos de sonido

This commit is contained in:
2022-09-11 13:59:08 +02:00
parent abb38e490e
commit 37daa9a8a0
11 changed files with 67 additions and 11 deletions

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

View File

@@ -197,6 +197,31 @@ bool Director::setFileList()
asset->add("/media/music/loading_sound3.ogg", music); asset->add("/media/music/loading_sound3.ogg", music);
asset->add("/media/sound/item.wav", sound); asset->add("/media/sound/item.wav", sound);
asset->add("/media/sound/death.wav", sound);
asset->add("/media/sound/jump1.wav", sound);
asset->add("/media/sound/jump2.wav", sound);
asset->add("/media/sound/jump3.wav", sound);
asset->add("/media/sound/jump4.wav", sound);
asset->add("/media/sound/jump5.wav", sound);
asset->add("/media/sound/jump6.wav", sound);
asset->add("/media/sound/jump7.wav", sound);
asset->add("/media/sound/jump8.wav", sound);
asset->add("/media/sound/jump9.wav", sound);
asset->add("/media/sound/jump10.wav", sound);
asset->add("/media/sound/jump11.wav", sound);
asset->add("/media/sound/jump12.wav", sound);
asset->add("/media/sound/jump13.wav", sound);
asset->add("/media/sound/jump14.wav", sound);
asset->add("/media/sound/jump15.wav", sound);
asset->add("/media/sound/jump16.wav", sound);
asset->add("/media/sound/jump17.wav", sound);
asset->add("/media/sound/jump18.wav", sound);
asset->add("/media/sound/jump19.wav", sound);
asset->add("/media/sound/jump20.wav", sound);
asset->add("/media/sound/jump21.wav", sound);
asset->add("/media/sound/jump22.wav", sound);
asset->add("/media/sound/jump23.wav", sound);
asset->add("/media/sound/jump24.wav", sound);
asset->add("/media/logo/jailgames.png", bitmap); asset->add("/media/logo/jailgames.png", bitmap);
asset->add("/media/logo/since_1998.png", bitmap); asset->add("/media/logo/since_1998.png", bitmap);

View File

@@ -17,7 +17,7 @@ Game::Game(SDL_Renderer *renderer, Screen *screen, Asset *asset, Input *input, D
this->screen = screen; this->screen = screen;
this->input = input; this->input = input;
this->debug = debug; this->debug = debug;
debug->setEnabled(true); this->debug->setEnabled(true);
// Crea los objetos // Crea los objetos
scoreboard = new ScoreBoard(renderer, asset, &playerLives, &itemsPicked, &clock); scoreboard = new ScoreBoard(renderer, asset, &playerLives, &itemsPicked, &clock);
@@ -27,6 +27,7 @@ Game::Game(SDL_Renderer *renderer, Screen *screen, Asset *asset, Input *input, D
eventHandler = new SDL_Event(); eventHandler = new SDL_Event();
text = new Text(asset->get("smb2.png"), asset->get("smb2.txt"), renderer); text = new Text(asset->get("smb2.png"), asset->get("smb2.txt"), renderer);
music = JA_LoadMusic(asset->get("game.ogg").c_str()); music = JA_LoadMusic(asset->get("game.ogg").c_str());
deathSound = JA_LoadSound(asset->get("death.wav").c_str());
test = new Test(renderer, screen, asset, debug); test = new Test(renderer, screen, asset, debug);
// Inicializa el resto de variables // Inicializa el resto de variables
@@ -57,6 +58,9 @@ Game::~Game()
delete eventHandler; delete eventHandler;
delete text; delete text;
JA_DeleteMusic(music);
JA_DeleteSound(deathSound);
delete test; delete test;
} }
@@ -316,6 +320,9 @@ void Game::killPlayer()
delete room; delete room;
delete player; delete player;
// Sonido
JA_PlaySound(deathSound);
// Crea la nueva habitación y el nuevo jugador // Crea la nueva habitación y el nuevo jugador
room = new Room(asset->get(currentRoom), renderer, screen, asset, itemTracker, &itemsPicked, debug); room = new Room(asset->get(currentRoom), renderer, screen, asset, itemTracker, &itemsPicked, debug);
player = new Player(spawnPoint, asset->get("player.png"), asset->get("player.ani"), renderer, asset, input, room, debug); player = new Player(spawnPoint, asset->get("player.png"), asset->get("player.ani"), renderer, asset, input, room, debug);

View File

@@ -44,6 +44,7 @@ private:
int playerLives; // Lleva la cuenta de ls vidas restantes del jugador int playerLives; // Lleva la cuenta de ls vidas restantes del jugador
int itemsPicked; // Lleva la cuenta de los objetos recogidos int itemsPicked; // Lleva la cuenta de los objetos recogidos
Uint32 clock; // Cuenta el tiempo que dura la partida Uint32 clock; // Cuenta el tiempo que dura la partida
JA_Sound deathSound; // Sonido a reproducir cuando muere el jugador
Test *test; Test *test;
// Actualiza el juego, las variables, comprueba la entrada, etc. // Actualiza el juego, las variables, comprueba la entrada, etc.

View File

@@ -61,12 +61,6 @@ void Item::update()
counter++; counter++;
} }
// Coge el objeto
void Item::pick()
{
sprite->setEnabled(false);
}
// Obtiene el rectangulo de colision del objeto // Obtiene el rectangulo de colision del objeto
SDL_Rect &Item::getCollider() SDL_Rect &Item::getCollider()
{ {

View File

@@ -51,9 +51,6 @@ public:
// Actualiza las variables del objeto // Actualiza las variables del objeto
void update(); void update();
// Coge el item
void pick();
// Obtiene el rectangulo de colision del objeto // Obtiene el rectangulo de colision del objeto
SDL_Rect &getCollider(); SDL_Rect &getCollider();

View File

@@ -49,6 +49,30 @@ Player::Player(player_t ini, std::string tileset, std::string animation, SDL_Ren
colliderPoints.insert(colliderPoints.end(), {p, p, p, p, p, p, p, p}); colliderPoints.insert(colliderPoints.end(), {p, p, p, p, p, p, p, p});
underFeet.insert(underFeet.end(), {p, p}); underFeet.insert(underFeet.end(), {p, p});
feet.insert(feet.end(), {p, p}); feet.insert(feet.end(), {p, p});
jumpSound.push_back(JA_LoadSound(asset->get("jump1.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump2.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump3.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump4.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump5.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump6.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump7.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump8.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump9.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump10.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump11.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump12.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump13.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump14.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump15.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump16.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump17.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump18.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump19.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump20.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump21.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump22.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump23.wav").c_str()));
jumpSound.push_back(JA_LoadSound(asset->get("jump24.wav").c_str()));
r = {0, 0, 0, 0}; r = {0, 0, 0, 0};
} }
@@ -58,6 +82,11 @@ Player::~Player()
{ {
delete texture; delete texture;
delete sprite; delete sprite;
for (auto s : jumpSound)
{
JA_DeleteSound(s);
}
} }
// Pinta el jugador en pantalla // Pinta el jugador en pantalla
@@ -125,6 +154,7 @@ void Player::checkInput()
setState(s_jumping); setState(s_jumping);
vy = -maxVY; vy = -maxVY;
jump_ini = y; jump_ini = y;
JA_PlaySound(jumpSound[0]);
} }
} }

View File

@@ -62,6 +62,7 @@ public:
SDL_Rect lastPosition; // Contiene la ultima posición del jugador, por si hay que deshacer algun movimiento SDL_Rect lastPosition; // Contiene la ultima posición del jugador, por si hay que deshacer algun movimiento
int jump_ini; // Valor del eje Y en el que se inicia el salto int jump_ini; // Valor del eje Y en el que se inicia el salto
float maxVY; // Velocidad máxima que puede alcanzar al desplazarse en vertical float maxVY; // Velocidad máxima que puede alcanzar al desplazarse en vertical
std::vector<JA_Sound> jumpSound; // Vecor con todos los sonidos del salto
SDL_Rect r; SDL_Rect r;
// Comprueba las entradas y modifica variables // Comprueba las entradas y modifica variables

View File

@@ -1,4 +1,5 @@
#include "utils.h" #include "utils.h"
#include <math.h>
// Calcula el cuadrado de la distancia entre dos puntos // Calcula el cuadrado de la distancia entre dos puntos
double distanceSquared(int x1, int y1, int x2, int y2) double distanceSquared(int x1, int y1, int x2, int y2)