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,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,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,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,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,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,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,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,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,577,578,579,580,581,582,0,0,0,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,265,266,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,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,259,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,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,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,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,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,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,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,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,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,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,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,
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"?>
<tileset version="1.9" tiledversion="1.9.1" name="surface" tilewidth="8" tileheight="8" tilecount="1024" columns="32">
<image source="./surface.png" width="256" height="256"/>
<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"/>
</tileset>

View File

@@ -6,7 +6,7 @@ tile_height=24
name=stand
speed=8
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]

View File

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

View File

@@ -22,11 +22,8 @@ struct enemy_t
float y; // Posición inicial en el eje Y
float vx; // Velocidad en el eje X
float vy; // Velocidad en el eje Y
int x1; // Limite izquierdo de la ruta en el eje X
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
color_t color; // Color del enemigo
SDL_Point p1; // Punto 1 (inicial) de la ruta
SDL_Point p2; // Punto 2 (final) de la ruta
};
// Clase Enemy
@@ -37,11 +34,8 @@ private:
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
LTexture *texture; // Textura con los graficos del enemigo
AnimatedSprite *sprite; // Sprite del enemigo
color_t color; // Color del enemigo
int x1; // Limite izquierdo de la ruta en el eje X
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_Point p1; // Punto 1 (inicial) de la ruta
SDL_Point p2; // Punto 2 (final) de la ruta
SDL_Rect collider; // Caja de colisión
// 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);
player = new Player(renderer, asset, input, map);
debugText = new Text(asset->get("debug.png"), asset->get("debug.txt"), renderer);
music = JA_LoadMusic(asset->get("music_surface.ogg").c_str());
}
// Destructor
@@ -22,6 +23,7 @@ Game::~Game()
delete map;
delete player;
delete debugText;
JA_DeleteMusic(music);
}
// Bucle para el juego
@@ -29,6 +31,8 @@ section_t Game::run()
{
init();
JA_PlayMusic(music);
while (section.name == SECTION_PROG_GAME)
{
// Sección juego jugando
@@ -39,6 +43,8 @@ section_t Game::run()
}
}
JA_StopMusic();
return section;
}

View File

@@ -26,6 +26,7 @@ private:
Map *map; // Objeto encargado de gestionar el mapeado del juego
Player *player; // Objeto para gestionar el jugador
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.
void update();

View File

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

View File

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