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