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