Merge branch 'development' of https://github.com/PTE-SH/ShadowHunterGame into development

This commit is contained in:
Yessine Ben El Bey 2020-05-07 18:09:12 +02:00
commit 3e13aefcce
5 changed files with 78 additions and 62 deletions

View File

@ -14,7 +14,7 @@ public class Musique {
public static long clipTimePosition = 0;
public static boolean musiqueEnCours = false;
static FloatControl volume ;
public static FloatControl volume ;
public static void playMusique(InputStream path) {
@ -62,4 +62,13 @@ public class Musique {
volume.setValue(volume.getValue() -valeur);
}
public static void setVolume(Float fValeur) {
volume.setValue(fValeur);
}
public static void setVolume(double dValeur) {
float decibel = (float) (Math.log(dValeur) / Math.log(10) * 20);
volume.setValue(decibel);
}
}

View File

@ -14,6 +14,7 @@ import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.control.CheckBox;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Slider;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.Pane;
@ -28,9 +29,13 @@ public class ParametreController implements Initializable {
private CheckBox clair;
@FXML
private ComboBox<String> langues;
@FXML
private Slider sliderMusique;
public static boolean cbMusiqueCoche = false; // verifi si la checbox musical est coche
public static boolean cbSonCoche = false;
public static boolean cbClair = false;
public static double slideValue;
boolean MusiqueLancee = false; //verifi si la musique a déja été lancé une première fois
@ -48,7 +53,7 @@ public class ParametreController implements Initializable {
cmusique.setSelected(cbMusiqueCoche);
cbEffetSonore.setSelected(cbSonCoche);
clair.setSelected(cbClair);
sliderMusique.setValue(slideValue);
langues.getItems().add("Anglais");
@ -74,6 +79,7 @@ public class ParametreController implements Initializable {
} else if (Musique.musiqueEnCours != true) {
Musique.resumeMusique(Musique.clip); // si elle a deja été lancé mais mis en pause, reprend a partir du point d'arret
Musique.musiqueEnCours = true;
}
} else {
@ -150,6 +156,16 @@ public class ParametreController implements Initializable {
}
@FXML
public void slideVolumeMusique(MouseEvent mouseEvent) throws IOException{
if(Musique.musiqueEnCours == true) {
Musique.setVolume(sliderMusique.getValue());
slideValue = sliderMusique.getValue();
}
/*
@FXML
public void monterVolume(MouseEvent mouseEvent) throws IOException{
Musique.volumeUp(5.f);
@ -161,5 +177,10 @@ public class ParametreController implements Initializable {
Musique.volumeDown(5.f);
System.out.println("on baisse le son");
}
*/
}
}

View File

@ -4,7 +4,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.Locale;
import java.util.Map;
import java.util.ResourceBundle;
import ihm.EffetSonore;
@ -13,33 +12,34 @@ import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.CheckBox;
import javafx.scene.control.Slider;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;
import main.GestionnaireJeu;
import main.Joueur;
public class PauseController implements Initializable {
@FXML
private CheckBox cbMusique;
@FXML
private CheckBox cbEffet;
@FXML
private Slider sliderMusiquePause;
String filepathMusique = "src//ihm//ressources//musique//The_Red_Fox_Tavern.wav";
InputStream fileMusique = getClass().getResourceAsStream("/ihm/ressources/musique/The_Red_Fox_Tavern.wav");
boolean MusiqueLancee = ParametreController.cbMusiqueCoche;
boolean SonLance = ParametreController.cbSonCoche;
public static double slideValuePause;
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
cbMusique.setSelected(ParametreController.cbMusiqueCoche);
cbEffet.setSelected(ParametreController.cbSonCoche);
sliderMusiquePause.setValue(ParametreController.slideValue);
}
@FXML
@ -56,11 +56,12 @@ public class PauseController implements Initializable {
Musique.playMusique(fileMusique);
Musique.musiqueEnCours = true;
MusiqueLancee = true;
} else if (MusiqueLancee ==false && Musique.musiqueEnCours != true) {
} else if (MusiqueLancee == false && Musique.musiqueEnCours != true) {
Musique.resumeMusique(Musique.clip); // si elle a deja été lancé mais mis en pause, reprend a partir du point d'arret
Musique.musiqueEnCours = true;
}
} else if (MusiqueLancee == true){
} else if (MusiqueLancee == true) {
Musique.pauseMusique(Musique.clip); // met en pause la musique
Musique.musiqueEnCours = false;
MusiqueLancee = false;
@ -82,6 +83,7 @@ public class PauseController implements Initializable {
ParametreController.cbSonCoche = cbEffet.isSelected();
ParametreController.cbMusiqueCoche = cbMusique.isSelected();
ParametreController.slideValue = slideValuePause;
EffetSonore.playSoundEffect(fileSound1); // met un bruit sur le bouton si les effets sonores sont activés
@ -99,14 +101,13 @@ public class PauseController implements Initializable {
Stage appStage = (Stage) ((Node) me.getSource()).getScene().getWindow();
appStage.close();
/* final URL fxmlURL = getClass().getResource("/ihm/ressources/Menu.fxml");
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRENCH);
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
AnchorPane root = fxmlLoader.load(); */
/*
* final URL fxmlURL = getClass().getResource("/ihm/ressources/Menu.fxml");
* final ResourceBundle bundle =
* ResourceBundle.getBundle("domaine.properties.langue", Locale.FRENCH); final
* FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle); AnchorPane root =
* fxmlLoader.load();
*/
final URL fxmlURL = getClass().getResource("/ihm/ressources/Menu.fxml");
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRENCH);
@ -116,15 +117,32 @@ public class PauseController implements Initializable {
}
@FXML
public void monterVolume(MouseEvent mouseEvent) throws IOException{
public void slideVolumeMusique(MouseEvent mouseEvent) throws IOException {
if (Musique.musiqueEnCours == true) {
System.out.println("slide");
Musique.setVolume(sliderMusiquePause.getValue());
slideValuePause = sliderMusiquePause.getValue();
}else {
System.out.println("probleme");
}
}
/*
@FXML
public void monterVolume(MouseEvent mouseEvent) throws IOException {
Musique.volumeUp(5.f);
System.out.println("on monte le son");
}
@FXML
public void baisserVolume(MouseEvent mouseEvent) throws IOException{
public void baisserVolume(MouseEvent mouseEvent) throws IOException {
Musique.volumeDown(5.f);
System.out.println("on baisse le son");
}
*/
}

View File

@ -4,6 +4,7 @@
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.CheckBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.Slider?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
@ -45,28 +46,10 @@
<Insets bottom="5.0" />
</VBox.margin>
</HBox>
<HBox prefHeight="38.0" prefWidth="337.0">
<HBox prefHeight="0.0" prefWidth="540.0">
<children>
<Button mnemonicParsing="false" onMouseClicked="#monterVolume" text="Volume +">
<font>
<Font size="14.0" />
</font>
<HBox.margin>
<Insets right="10.0" />
</HBox.margin>
</Button>
<Button mnemonicParsing="false" onMouseClicked="#baisserVolume" text="Volume -">
<font>
<Font size="14.0" />
</font>
<HBox.margin>
<Insets left="10.0" />
</HBox.margin>
</Button>
<Slider fx:id="sliderMusiquePause" blockIncrement="1.0" majorTickUnit="1.0" max="1.0" minorTickCount="10" onMouseClicked="#slideVolumeMusique" prefHeight="14.0" prefWidth="194.0" showTickLabels="true" showTickMarks="true" value="0.1" />
</children>
<padding>
<Insets bottom="10.0" top="10.0" />
</padding>
</HBox>
<HBox alignment="CENTER_LEFT">
<children>

View File

@ -5,12 +5,13 @@
<?import javafx.scene.control.CheckBox?>
<?import javafx.scene.control.ComboBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.Slider?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.text.Font?>
<Pane fx:id="rootPane" prefHeight="595.0" prefWidth="758.0" styleClass="background" stylesheets="@style/menu.css" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ihm.controller.ParametreController">
<Pane fx:id="rootPane" onMouseClicked="#slideVolumeMusique" prefHeight="595.0" prefWidth="758.0" styleClass="background" stylesheets="@style/menu.css" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ihm.controller.ParametreController">
<children>
<HBox alignment="TOP_CENTER" layoutX="146.0" layoutY="171.0" prefHeight="242.0" prefWidth="507.0" spacing="10.0">
<children>
@ -18,23 +19,7 @@
<children>
<CheckBox fx:id="clair" mnemonicParsing="false" styleClass="checkBox" text="%mode.claire" />
<CheckBox fx:id="cmusique" mnemonicParsing="false" styleClass="checkBox" text="%musique" />
<HBox alignment="CENTER_LEFT" prefHeight="100.0" prefWidth="195.0">
<children>
<Button mnemonicParsing="false" onMouseClicked="#monterVolume" styleClass="bouton" stylesheets="@style/menu.css" text="Volume +">
<opaqueInsets>
<Insets />
</opaqueInsets>
<HBox.margin>
<Insets right="10.0" />
</HBox.margin>
</Button>
<Button layoutX="10.0" layoutY="10.0" mnemonicParsing="false" onMouseClicked="#baisserVolume" styleClass="bouton" stylesheets="@style/menu.css" text="Volume -">
<HBox.margin>
<Insets left="10.0" />
</HBox.margin>
</Button>
</children>
</HBox>
<Slider fx:id="sliderMusique" blockIncrement="1.0" majorTickUnit="1.0" max="1.0" minorTickCount="10" onMouseClicked="#slideVolumeMusique" showTickLabels="true" showTickMarks="true" value="0.1" />
<CheckBox fx:id="cbEffetSonore" mnemonicParsing="false" styleClass="checkBox" text="%effet" />
<VBox prefHeight="86.0" prefWidth="195.0" spacing="10.0">
<children>