Añadida la música

This commit is contained in:
2022-08-21 10:16:29 +02:00
parent 6d2fe4541a
commit b394395fa7
9 changed files with 34 additions and 36 deletions

View File

@@ -12,17 +12,17 @@
0,18,19,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,18,19,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,50,51,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,19,20,0, 0,50,51,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,19,20,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,51,52,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,51,52,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,259,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,259,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,263,264,0,0,0,0,0,0,0,0,257,258,0,0,0,0,0,0,0,0,0,263,264,0,0,0,0,0,0,259,0,0,0, 0,0,0,0,0,0,0,263,264,0,0,0,0,0,0,0,0,257,258,0,0,0,0,0,0,0,297,0,0,0,0,0,0,263,264,0,0,0,0,0,
0,0,0,0,0,0,0,295,296,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,265,266,0,0,0,0,0,0,259,0,0,0, 0,0,0,0,0,0,0,295,296,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,265,266,0,0,0,0,0,
0,263,264,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,259,0,0,0, 0,263,264,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,295,296,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,577,578,579,580,581,582,0,0,0,0,0,0,259,0,0,259,0,0,0, 0,295,296,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,577,578,579,580,581,582,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,189,190,0,0,0,0,0,0,0,0,259,0,0,259,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,189,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,577,578,579,580,581,582,0,0,0,0,0,0,259,0,0,259,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,577,578,579,580,581,582,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,239,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,189,190,0,0,0,265,266,0,0,0,259,0,0,259,0,0,0, 0,0,0,0,239,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,189,190,0,0,0,0,0,0,0,0,265,266,0,0,0,0,0,
0,0,0,257,258,257,258,0,0,0,0,0,0,0,0,0,0,0,0,0,0,577,578,579,580,581,582,0,0,0,0,0,0,259,0,0,259,0,0,0, 0,0,0,257,258,257,258,0,0,0,0,0,0,0,0,0,0,0,0,0,0,577,578,579,580,581,582,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,289,290,289,290,0,0,0,0,577,578,579,580,581,582,0,0,0,0,0,0,189,190,0,0,0,0,0,0,0,0,259,0,0,259,0,0,0, 0,0,0,289,290,289,290,0,0,0,0,577,578,579,580,581,582,0,0,0,0,0,0,189,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,189,190,0,0,0,0,0,0,577,578,579,580,581,582,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,189,190,0,0,0,0,0,0,577,578,579,580,581,582,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,189,190,0,0,0,0,0,0,0,0,189,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,189,190,0,0,0,0,0,0,0,0,189,190,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
263,264,0,0,0,0,0,193,194,0,0,0,0,189,190,0,0,0,0,0,0,0,281,282,277,278,279,280,0,0,0,0,0,0,0,0,0,0,0,0, 263,264,0,0,0,0,0,193,194,0,0,0,0,189,190,0,0,0,0,0,0,0,281,282,277,278,279,280,0,0,0,0,0,0,0,0,0,0,0,0,

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<tileset version="1.9" tiledversion="1.9.1" name="surface" tilewidth="8" tileheight="8" tilecount="1024" columns="32"> <tileset version="1.9" tiledversion="1.9.1" name="tiles_surface" tilewidth="8" tileheight="8" tilecount="1024" columns="32">
<image source="./surface.png" width="256" height="256"/> <image source="surface.png" width="256" height="256"/>
</tileset> </tileset>

View File

@@ -6,7 +6,7 @@ tile_height=24
name=stand name=stand
speed=8 speed=8
loop=yes loop=yes
frames=0,1,2,2,1,0,0,1,2,2,1,0,0,1,2,2,1,0,0,1,2,2,1,0,0,1,2,3,4,5,6,7,0,0,0,0 frames=0,1,2,2,1,0,0,1,2,2,1,0,0,1,2,2,1,0,0,1,2,2,1,0,0,1,2,3,4,5,4,5,5,5,6,6,7,7,0,0
[/animation] [/animation]
[animation] [animation]

View File

@@ -15,11 +15,8 @@ Enemy::Enemy(enemy_t enemy)
sprite = new AnimatedSprite(texture, renderer, asset->get(enemy.animation)); sprite = new AnimatedSprite(texture, renderer, asset->get(enemy.animation));
// Obten el resto de valores // Obten el resto de valores
x1 = enemy.x1; p1 = enemy.p1;
x2 = enemy.x2; p2 = enemy.p2;
y1 = enemy.y1;
y2 = enemy.y2;
color = enemy.color;
sprite->setPosX(enemy.x); sprite->setPosX(enemy.x);
sprite->setPosY(enemy.y); sprite->setPosY(enemy.y);
sprite->setVelX(enemy.vx); sprite->setVelX(enemy.vx);
@@ -63,13 +60,13 @@ void Enemy::update()
// Comprueba si ha llegado al limite del recorrido para darse media vuelta // Comprueba si ha llegado al limite del recorrido para darse media vuelta
void Enemy::checkPath() void Enemy::checkPath()
{ {
if (sprite->getPosX() > x2 || sprite->getPosX() < x1) if (sprite->getPosX() > p2.x || sprite->getPosX() < p1.x)
{ {
sprite->setVelX(sprite->getVelX() * (-1)); sprite->setVelX(sprite->getVelX() * (-1));
sprite->flip(); sprite->flip();
} }
if (sprite->getPosY() > y2 || sprite->getPosY() < y1) if (sprite->getPosY() > p2.y || sprite->getPosY() < p1.y)
{ {
sprite->setVelY(sprite->getVelY() * (-1)); sprite->setVelY(sprite->getVelY() * (-1));
sprite->flip(); sprite->flip();

View File

@@ -22,11 +22,8 @@ struct enemy_t
float y; // Posición inicial en el eje Y float y; // Posición inicial en el eje Y
float vx; // Velocidad en el eje X float vx; // Velocidad en el eje X
float vy; // Velocidad en el eje Y float vy; // Velocidad en el eje Y
int x1; // Limite izquierdo de la ruta en el eje X SDL_Point p1; // Punto 1 (inicial) de la ruta
int x2; // Limite derecho de la ruta en el eje X SDL_Point p2; // Punto 2 (final) de la ruta
int y1; // Limite superior de la ruta en el eje Y
int y2; // Limite inferior de la ruta en el eje Y
color_t color; // Color del enemigo
}; };
// Clase Enemy // Clase Enemy
@@ -37,11 +34,8 @@ private:
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
LTexture *texture; // Textura con los graficos del enemigo LTexture *texture; // Textura con los graficos del enemigo
AnimatedSprite *sprite; // Sprite del enemigo AnimatedSprite *sprite; // Sprite del enemigo
color_t color; // Color del enemigo SDL_Point p1; // Punto 1 (inicial) de la ruta
int x1; // Limite izquierdo de la ruta en el eje X SDL_Point p2; // Punto 2 (final) de la ruta
int x2; // Limite derecho de la ruta en el eje X
int y1; // Limite superior de la ruta en el eje Y
int y2; // Limite inferior de la ruta en el eje Y
SDL_Rect collider; // Caja de colisión SDL_Rect collider; // Caja de colisión
// Comprueba si ha llegado al limite del recorrido para darse media vuelta // Comprueba si ha llegado al limite del recorrido para darse media vuelta

View File

@@ -13,6 +13,7 @@ Game::Game(SDL_Renderer *renderer, Asset *asset, Screen *screen, Input *input)
map = new Map(asset->get("01.map"), renderer, asset); map = new Map(asset->get("01.map"), renderer, asset);
player = new Player(renderer, asset, input, map); player = new Player(renderer, asset, input, map);
debugText = new Text(asset->get("debug.png"), asset->get("debug.txt"), renderer); debugText = new Text(asset->get("debug.png"), asset->get("debug.txt"), renderer);
music = JA_LoadMusic(asset->get("music_surface.ogg").c_str());
} }
// Destructor // Destructor
@@ -22,6 +23,7 @@ Game::~Game()
delete map; delete map;
delete player; delete player;
delete debugText; delete debugText;
JA_DeleteMusic(music);
} }
// Bucle para el juego // Bucle para el juego
@@ -29,6 +31,8 @@ section_t Game::run()
{ {
init(); init();
JA_PlayMusic(music);
while (section.name == SECTION_PROG_GAME) while (section.name == SECTION_PROG_GAME)
{ {
// Sección juego jugando // Sección juego jugando
@@ -39,6 +43,8 @@ section_t Game::run()
} }
} }
JA_StopMusic();
return section; return section;
} }

View File

@@ -26,6 +26,7 @@ private:
Map *map; // Objeto encargado de gestionar el mapeado del juego Map *map; // Objeto encargado de gestionar el mapeado del juego
Player *player; // Objeto para gestionar el jugador Player *player; // Objeto para gestionar el jugador
bool debug; // Indica si esta activo el modo de depuración bool debug; // Indica si esta activo el modo de depuración
JA_Music music; // Contiene la musica que se reproduce durante el juego
// Actualiza el juego, las variables, comprueba la entrada, etc. // Actualiza el juego, las variables, comprueba la entrada, etc.
void update(); void update();

View File

@@ -234,19 +234,19 @@ bool Map::setEnemy(enemy_t *enemy, std::string var, std::string value)
} }
else if (var == "x1") else if (var == "x1")
{ {
enemy->x1 = std::stoi(value) * tile_size; enemy->p1.x = std::stoi(value) * tile_size;
} }
else if (var == "x2") else if (var == "x2")
{ {
enemy->x2 = std::stoi(value) * tile_size; enemy->p2.x = std::stoi(value) * tile_size;
} }
else if (var == "y1") else if (var == "y1")
{ {
enemy->y1 = std::stoi(value) * tile_size; enemy->p1.y = std::stoi(value) * tile_size;
} }
else if (var == "y2") else if (var == "y2")
{ {
enemy->y2 = std::stoi(value) * tile_size; enemy->p2.y = std::stoi(value) * tile_size;
} }
else if (var == "[/enemy]") else if (var == "[/enemy]")
{ {

View File

@@ -70,7 +70,7 @@ Prog::~Prog()
// Inicializa JailAudio // Inicializa JailAudio
void Prog::initJailAudio() void Prog::initJailAudio()
{ {
JA_Init(48000, AUDIO_S16, 2); JA_Init(44100, AUDIO_S16, 2);
} }
// Arranca SDL y crea la ventana // Arranca SDL y crea la ventana