From 808712f6b628329a2e91f54dbef83e8bf80a98ae Mon Sep 17 00:00:00 2001 From: Bastien NOEL Date: Mon, 4 May 2020 17:54:13 +0200 Subject: [PATCH] =?UTF-8?q?correction=20des=20probl=C3=A8mes=20li=C3=A9s?= =?UTF-8?q?=20aux=20effets=20sonores=20dans=20le=20menu=20pause?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ihm/EffetSonore.java | 1 - src/ihm/controller/ParametreController.java | 11 ++- src/ihm/controller/PauseController.java | 89 +++++++++++++-------- src/ihm/controller/PlateauController.java | 6 ++ 4 files changed, 69 insertions(+), 38 deletions(-) diff --git a/src/ihm/EffetSonore.java b/src/ihm/EffetSonore.java index 539748f..27ad81c 100644 --- a/src/ihm/EffetSonore.java +++ b/src/ihm/EffetSonore.java @@ -20,7 +20,6 @@ public class EffetSonore { try { - //File soundPath = new File(path); InputStream soundPath = path; if (soundPath!=null) { diff --git a/src/ihm/controller/ParametreController.java b/src/ihm/controller/ParametreController.java index 25da9f1..83a9f2b 100644 --- a/src/ihm/controller/ParametreController.java +++ b/src/ihm/controller/ParametreController.java @@ -28,7 +28,8 @@ public class ParametreController implements Initializable { private CheckBox clair; @FXML private ComboBox langues; - boolean coche = false; // verifi si la checbox musical est coche + public static boolean cbMusiqueCoche = false; // verifi si la checbox musical est coche + public static boolean cbSonCoche = false; boolean MusiqueLancee = false; //verifi si la musique a déja été lancé une première fois String filepathMusique = "/ihm/ressources/musique/The_Red_Fox_Tavern.wav"; // lien vers la musique : https://www.youtube.com/watch?v=LBpKUIyOHdo @@ -57,7 +58,7 @@ public class ParametreController implements Initializable { if (fileMusique!=null) { if (cmusique.isSelected() == true) { - coche = true; + cbMusiqueCoche = true; if (Musique.clipTimePosition == 0 && MusiqueLancee == false) { // si la musique n'a jamais été lancé Musique.playMusique(fileMusique); MusiqueLancee = true; @@ -67,8 +68,8 @@ public class ParametreController implements Initializable { } } else { - if (coche == true) { - coche = false; + if (cbMusiqueCoche == true) { + cbMusiqueCoche = false; Musique.pauseMusique(Musique.clip); //met en pause la musique } @@ -79,12 +80,14 @@ public class ParametreController implements Initializable { //Pour les effets sonores if (cbEffetSonore.isSelected() == true) { EffetSonore.setSoundOK(true); + cbSonCoche = true; System.out.println(EffetSonore.isSoundOK()); } else { EffetSonore.setSoundOK(false); + cbSonCoche = false; System.out.println(EffetSonore.isSoundOK()); } diff --git a/src/ihm/controller/PauseController.java b/src/ihm/controller/PauseController.java index 545c7ff..87869f9 100644 --- a/src/ihm/controller/PauseController.java +++ b/src/ihm/controller/PauseController.java @@ -1,6 +1,5 @@ package ihm.controller; -import java.io.File; import java.io.IOException; import java.io.InputStream; import java.net.URL; @@ -15,62 +14,86 @@ import javafx.scene.control.CheckBox; import javafx.scene.input.MouseEvent; import javafx.stage.Stage; -public class PauseController implements Initializable{ - @FXML private CheckBox cbMusique; - @FXML private CheckBox cbEffet; - - String filepathMusique = "src//ihm//ressources//musique//The_Red_Fox_Tavern.wav"; - InputStream fileInput = getClass().getResourceAsStream("src//ihm//ressources//musique//The_Red_Fox_Tavern.wav"); - File fileMusique = new File("src//ihm//ressources//musique//The_Red_Fox_Tavern.wav"); - - public EffetSonore soundEffects = new EffetSonore(); +public class PauseController implements Initializable { + @FXML + private CheckBox cbMusique; + @FXML + private CheckBox cbEffet; + String filepathMusique = "src//ihm//ressources//musique//The_Red_Fox_Tavern.wav"; + InputStream fileMusique = getClass().getResourceAsStream("src//ihm//ressources//musique//The_Red_Fox_Tavern.wav"); + + boolean MusiqueLancee = ParametreController.cbMusiqueCoche; + boolean SonLance = ParametreController.cbSonCoche; + @Override public void initialize(URL arg0, ResourceBundle arg1) { - // TODO Auto-generated method stub - + + if (MusiqueLancee == true) { + cbMusique.setSelected(true); + } + + if (SonLance == true) { + cbEffet.setSelected(true); + } + } - - @FXML + + @FXML public void reprendre(MouseEvent me) { - //Pour la musique - boolean MusiqueLancee = false; - if (fileMusique.exists()) { + InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav"); + + // Pour la musique + + if (fileMusique != null) { + System.out.println("point d'arret 1"); if (cbMusique.isSelected()) { System.out.println("\tLancement de la musique"); + if (Musique.clipTimePosition == 0 && MusiqueLancee == false) { // si la musique n'a jamais été lancé - Musique.playMusique(fileInput); + Musique.playMusique(fileMusique); MusiqueLancee = true; - } else Musique.resumeMusique(Musique.clip); // si elle a deja été lancé mais mis en pause, reprend a partir du point d'arret + System.out.println("point d'arret 2"); + } else + Musique.resumeMusique(Musique.clip); // si elle a deja été lancé mais mis en pause, reprend a partir du point d'arret + System.out.println("point d'arret 3"); } else { - Musique.pauseMusique(Musique.clip); //met en pause la musique + Musique.pauseMusique(Musique.clip); // met en pause la musique System.out.println("\tMise en pause de la musique"); } } - - //Pour les effets sonores + else { + System.out.println("ON A UN PROBLEME, AUCUN POINT D'ARRET N'EST PASSE"); + } + + // Pour les effets sonores if (cbEffet.isSelected() == true) { System.out.println("\tEffets sonores activé"); - soundEffects.setSoundOK(true); - }else { + EffetSonore.setSoundOK(true); + + } else { System.out.println("\tEffets sonores désactivé"); - soundEffects.setSoundOK(false); + EffetSonore.setSoundOK(false); } - - soundEffects.playSoundEffect("src//ihm//ressources//musique//BEEP1.wav"); //met un bruit sur le bouton si les effets sonores sont activés - + + ParametreController.cbSonCoche = cbEffet.isSelected(); + ParametreController.cbMusiqueCoche = cbMusique.isSelected(); + + EffetSonore.playSoundEffect(fileSound1); // met un bruit sur le bouton si les effets sonores sont activés + System.out.println("Retour au jeu"); Stage appStage = (Stage) ((Node) me.getSource()).getScene().getWindow(); appStage.close(); } - - - @FXML + + @FXML public void quitter(MouseEvent me) throws IOException { + InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav"); + EffetSonore.playSoundEffect(fileSound1); + System.err.println("Fin de partie"); Stage appStage = (Stage) ((Node) me.getSource()).getScene().getWindow(); appStage.close(); - - + } } diff --git a/src/ihm/controller/PlateauController.java b/src/ihm/controller/PlateauController.java index 1934a2b..d01148b 100644 --- a/src/ihm/controller/PlateauController.java +++ b/src/ihm/controller/PlateauController.java @@ -2,6 +2,7 @@ package ihm.controller; import java.io.IOException; +import java.io.InputStream; import java.net.URL; import java.util.ArrayList; import java.util.List; @@ -10,6 +11,7 @@ import java.util.Map; import java.util.ResourceBundle; import java.util.Set; +import ihm.EffetSonore; import ihm.PopUp; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; @@ -297,6 +299,10 @@ public class PlateauController implements Initializable { @FXML public void mettreEnPause(MouseEvent me) throws IOException { + + InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav"); + EffetSonore.playSoundEffect(fileSound1); + System.out.println("Jeu en pause ..."); final URL fxmlURL = getClass().getResource("../ressources/Pause.fxml"); final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE);