Añadida la música
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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]")
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user