Añadida la música
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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