Correction bug musique
This commit is contained in:
parent
138289460c
commit
4f99da42e3
|
@ -29,6 +29,8 @@ private:
|
||||||
Mode mode;
|
Mode mode;
|
||||||
DeathCause death_cause;
|
DeathCause death_cause;
|
||||||
|
|
||||||
|
float time_left;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Met à jour les objets du jeu pour
|
* Met à jour les objets du jeu pour
|
||||||
* qu'ils s'adaptent au nouvel état
|
* qu'ils s'adaptent au nouvel état
|
||||||
|
@ -83,6 +85,16 @@ public:
|
||||||
*/
|
*/
|
||||||
void setMode(Mode set_mode);
|
void setMode(Mode set_mode);
|
||||||
void setDeathCause(DeathCause set_death_cause);
|
void setDeathCause(DeathCause set_death_cause);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Modifie le temps total du niveau
|
||||||
|
*/
|
||||||
|
virtual void setTotalTime(int set_total_time);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Modifie la musique du niveau
|
||||||
|
*/
|
||||||
|
virtual void setMusic(std::string set_music);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -37,8 +37,6 @@ private:
|
||||||
std::vector<sf::Vector2f> zone;
|
std::vector<sf::Vector2f> zone;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
float time_left;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dessine tous les objets et le fond à l'écran
|
* Dessine tous les objets et le fond à l'écran
|
||||||
*/
|
*/
|
||||||
|
@ -106,7 +104,7 @@ public:
|
||||||
/**
|
/**
|
||||||
* Modifie le temps total du niveau
|
* Modifie le temps total du niveau
|
||||||
*/
|
*/
|
||||||
void setTotalTime(int set_total_time);
|
virtual void setTotalTime(int set_total_time);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Récupère la musique du niveau
|
* Récupère la musique du niveau
|
||||||
|
@ -116,7 +114,7 @@ public:
|
||||||
/**
|
/**
|
||||||
* Modifie la musique du niveau
|
* Modifie la musique du niveau
|
||||||
*/
|
*/
|
||||||
void setMusic(std::string set_music);
|
virtual void setMusic(std::string set_music);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Récupère le fond du niveau
|
* Récupère le fond du niveau
|
||||||
|
|
28
src/game.cpp
28
src/game.cpp
|
@ -7,13 +7,6 @@
|
||||||
Game::Game(Manager& manager) : Level(manager),
|
Game::Game(Manager& manager) : Level(manager),
|
||||||
widget_timer(manager, false),
|
widget_timer(manager, false),
|
||||||
next_frame_time(manager.getCurrentTime()) {
|
next_frame_time(manager.getCurrentTime()) {
|
||||||
|
|
||||||
if (getMusic() != "") {
|
|
||||||
getResourceManager().playMusic(getMusic());
|
|
||||||
} else {
|
|
||||||
getResourceManager().stopMusic();
|
|
||||||
}
|
|
||||||
|
|
||||||
mode = Game::Mode::NORMAL;
|
mode = Game::Mode::NORMAL;
|
||||||
death_cause = Game::DeathCause::NONE;
|
death_cause = Game::DeathCause::NONE;
|
||||||
|
|
||||||
|
@ -248,6 +241,10 @@ Game::Mode Game::getMode() {
|
||||||
return mode;
|
return mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Game::setDeathCause(Game::DeathCause set_death_cause) {
|
||||||
|
death_cause = set_death_cause;
|
||||||
|
}
|
||||||
|
|
||||||
Game::DeathCause Game::getDeathCause() {
|
Game::DeathCause Game::getDeathCause() {
|
||||||
return death_cause;
|
return death_cause;
|
||||||
}
|
}
|
||||||
|
@ -256,6 +253,19 @@ void Game::setMode(Game::Mode set_mode) {
|
||||||
mode = set_mode;
|
mode = set_mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Game::setDeathCause(Game::DeathCause set_death_cause) {
|
void Game::setTotalTime(int set_total_time) {
|
||||||
death_cause = set_death_cause;
|
Level::setTotalTime(set_total_time);
|
||||||
|
time_left = getTotalTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Game::setMusic(std::string set_music) {
|
||||||
|
Level::setMusic(set_music);
|
||||||
|
|
||||||
|
// lorsqu'on change la musique, on commence à la jouer
|
||||||
|
// si toutefois il y en a une
|
||||||
|
if (getMusic() != "") {
|
||||||
|
getResourceManager().playMusic(getMusic());
|
||||||
|
} else {
|
||||||
|
getResourceManager().stopMusic();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -116,6 +116,7 @@ void loadLevel(
|
||||||
// lecture des chemins de la musique et du fond
|
// lecture des chemins de la musique et du fond
|
||||||
std::getline(file, music, '\0');
|
std::getline(file, music, '\0');
|
||||||
std::getline(file, background, '\0');
|
std::getline(file, background, '\0');
|
||||||
|
std::cout << music << " " << background << std::endl;
|
||||||
|
|
||||||
// lecture des objets si une callback a été fournie
|
// lecture des objets si une callback a été fournie
|
||||||
int object_count;
|
int object_count;
|
||||||
|
@ -155,9 +156,9 @@ Level::Level(Manager& manager) : State(manager) {
|
||||||
camera_angle = 180.f;
|
camera_angle = 180.f;
|
||||||
|
|
||||||
// métadonnées par défaut
|
// métadonnées par défaut
|
||||||
name = sf::String("Nouveau niveau");
|
setName(sf::String("Nouveau niveau"));
|
||||||
current_path = getResourceManager().getLevelPath("new_level.dat");
|
current_path = getResourceManager().getLevelPath("new_level.dat");
|
||||||
time_left = total_time = 30;
|
setTotalTime(30);
|
||||||
|
|
||||||
// zone de jeu par défaut
|
// zone de jeu par défaut
|
||||||
zone.push_back(sf::Vector2f(-128, -128));
|
zone.push_back(sf::Vector2f(-128, -128));
|
||||||
|
@ -166,8 +167,8 @@ Level::Level(Manager& manager) : State(manager) {
|
||||||
zone.push_back(sf::Vector2f(-128, 128));
|
zone.push_back(sf::Vector2f(-128, 128));
|
||||||
|
|
||||||
// ressources par défaut
|
// ressources par défaut
|
||||||
music = "";
|
setMusic("");
|
||||||
background = "";
|
setBackground("");
|
||||||
}
|
}
|
||||||
|
|
||||||
Level::~Level() {}
|
Level::~Level() {}
|
||||||
|
@ -190,7 +191,8 @@ void Level::load(std::string path) {
|
||||||
std::bind(&Level::addObject, this, std::placeholders::_1)
|
std::bind(&Level::addObject, this, std::placeholders::_1)
|
||||||
);
|
);
|
||||||
|
|
||||||
time_left = total_time;
|
setTotalTime(total_time);
|
||||||
|
setMusic(music);
|
||||||
current_path = path;
|
current_path = path;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -324,9 +326,7 @@ void Level::setTotalTime(int set_total_time) {
|
||||||
// faisons rester le temps entre 10s et 59:59
|
// faisons rester le temps entre 10s et 59:59
|
||||||
set_total_time = std::min(set_total_time, 3599);
|
set_total_time = std::min(set_total_time, 3599);
|
||||||
set_total_time = std::max(set_total_time, 10);
|
set_total_time = std::max(set_total_time, 10);
|
||||||
|
|
||||||
total_time = set_total_time;
|
total_time = set_total_time;
|
||||||
time_left = total_time;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string Level::getMusic() const {
|
std::string Level::getMusic() const {
|
||||||
|
|
Loading…
Reference in New Issue