Merge branch 'development' of https://github.com/PTE-SH/ShadowHunterGame into development
This commit is contained in:
commit
9fca28f7bb
@ -1,5 +1,5 @@
|
||||
jouer=Jouer
|
||||
regles=Régles
|
||||
regles=Règles
|
||||
commencer.partie=Commencer la partie
|
||||
entrez.nom.joueur= Entrez le nom des joueurs
|
||||
nombre.joueur.minimum=(Il faut au moins 4 joueurs)
|
||||
|
@ -1,5 +1,5 @@
|
||||
jouer=Jouer
|
||||
regles=Régles
|
||||
regles=Règles
|
||||
commencer.partie=Commencer la partie
|
||||
entrez.nom.joueur= Entrez le nom des joueurs
|
||||
nombre.joueur.minimum=(Il faut au moins 4 joueurs)
|
||||
|
@ -6,25 +6,32 @@ import java.io.InputStream;
|
||||
import javax.sound.sampled.AudioInputStream;
|
||||
import javax.sound.sampled.AudioSystem;
|
||||
import javax.sound.sampled.Clip;
|
||||
|
||||
import javax.sound.sampled.FloatControl;
|
||||
|
||||
public class Musique {
|
||||
|
||||
public static Clip clip;
|
||||
public static long clipTimePosition = 0;
|
||||
|
||||
public static boolean musiqueEnCours = false;
|
||||
static FloatControl volume ;
|
||||
|
||||
public static void playMusique(InputStream path) {
|
||||
|
||||
try {
|
||||
|
||||
InputStream musicPath = path;
|
||||
|
||||
if (musicPath!=null) {
|
||||
|
||||
if (musicPath != null) {
|
||||
InputStream bufferedIn = new BufferedInputStream(musicPath);
|
||||
|
||||
AudioInputStream audioInput = AudioSystem.getAudioInputStream(bufferedIn);
|
||||
clip = AudioSystem.getClip();
|
||||
clip.open(audioInput);
|
||||
|
||||
volume = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);
|
||||
volume.setValue(-20.0f); // Reduit le volume de 20 decibels.
|
||||
|
||||
clip.start();
|
||||
clip.loop(Clip.LOOP_CONTINUOUSLY);
|
||||
|
||||
@ -46,5 +53,13 @@ public class Musique {
|
||||
clip.setMicrosecondPosition(clipTimePosition);
|
||||
clip.start();
|
||||
}
|
||||
|
||||
public static void volumeUp(Float valeur) {
|
||||
volume.setValue(volume.getValue() +valeur);
|
||||
}
|
||||
|
||||
public static void volumeDown(Float valeur) {
|
||||
volume.setValue(volume.getValue() -valeur);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -30,6 +30,8 @@ public class MenuController implements Initializable{
|
||||
input = getClass().getResourceAsStream("/ihm/ressources/img/logo.png");
|
||||
Image image = new Image(input);
|
||||
titre.setImage(image);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@FXML
|
||||
|
@ -31,7 +31,7 @@ public class ParametreController implements Initializable {
|
||||
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
|
||||
InputStream fileMusique = getClass().getResourceAsStream("/ihm/ressources/musique/The_Red_Fox_Tavern.wav");
|
||||
|
||||
@ -42,6 +42,7 @@ public class ParametreController implements Initializable {
|
||||
|
||||
@Override
|
||||
public void initialize(URL arg0, ResourceBundle arg1) {
|
||||
|
||||
langues.getItems().add("Anglais");
|
||||
langues.getItems().add("Allemand");
|
||||
langues.getItems().add("Espagnol");
|
||||
@ -59,11 +60,12 @@ public class ParametreController implements Initializable {
|
||||
|
||||
if (cmusique.isSelected() == true) {
|
||||
cbMusiqueCoche = true;
|
||||
if (Musique.clipTimePosition == 0 && MusiqueLancee == false) { // si la musique n'a jamais été lancé
|
||||
if (Musique.clipTimePosition == 0 && MusiqueLancee == false && Musique.musiqueEnCours != true) { // si la musique n'a jamais été lancé
|
||||
Musique.playMusique(fileMusique);
|
||||
Musique.musiqueEnCours = true;
|
||||
MusiqueLancee = true;
|
||||
|
||||
} else {
|
||||
} 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
|
||||
}
|
||||
|
||||
@ -71,6 +73,7 @@ public class ParametreController implements Initializable {
|
||||
if (cbMusiqueCoche == true) {
|
||||
cbMusiqueCoche = false;
|
||||
Musique.pauseMusique(Musique.clip); //met en pause la musique
|
||||
Musique.musiqueEnCours = false;
|
||||
}
|
||||
|
||||
}
|
||||
@ -134,5 +137,17 @@ public class ParametreController implements Initializable {
|
||||
|
||||
|
||||
}
|
||||
|
||||
@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{
|
||||
Musique.volumeDown(5.f);
|
||||
System.out.println("on baisse le son");
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ public class PauseController implements Initializable {
|
||||
|
||||
boolean MusiqueLancee = ParametreController.cbMusiqueCoche;
|
||||
boolean SonLance = ParametreController.cbSonCoche;
|
||||
|
||||
|
||||
@Override
|
||||
public void initialize(URL arg0, ResourceBundle arg1) {
|
||||
|
||||
@ -55,18 +55,22 @@ public class PauseController implements Initializable {
|
||||
if (fileMusique != null) {
|
||||
if (cbMusique.isSelected()) {
|
||||
System.out.println("\tLancement de la musique");
|
||||
|
||||
if (Musique.clipTimePosition == 0 && MusiqueLancee == false) { // si la musique n'a jamais été lancé
|
||||
|
||||
if (Musique.clipTimePosition == 0 && MusiqueLancee == false && Musique.musiqueEnCours != true) { // si la musique n'a jamais été lancé
|
||||
Musique.playMusique(fileMusique);
|
||||
Musique.musiqueEnCours = true;
|
||||
MusiqueLancee = true;
|
||||
} else
|
||||
Musique.resumeMusique(Musique.clip); // si elle a deja été lancé mais mis en pause, reprend a partir du point d'arret
|
||||
} else {
|
||||
} 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
|
||||
}
|
||||
|
||||
} else if (MusiqueLancee == true){
|
||||
Musique.pauseMusique(Musique.clip); // met en pause la musique
|
||||
Musique.musiqueEnCours = false;
|
||||
MusiqueLancee = false;
|
||||
System.out.println("\tMise en pause de la musique");
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
System.out.println("fichier audio non trouvé");
|
||||
}
|
||||
|
||||
@ -98,12 +102,23 @@ public class PauseController implements Initializable {
|
||||
System.err.println("Fin de partie");
|
||||
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();
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@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{
|
||||
Musique.volumeDown(5.f);
|
||||
System.out.println("on baisse le son");
|
||||
}
|
||||
}
|
||||
|
@ -39,14 +39,18 @@ public class ReglesControlleur implements Initializable {
|
||||
|
||||
@FXML
|
||||
public void pageSuivante(MouseEvent mouseEvent) throws IOException {
|
||||
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
|
||||
EffetSonore.playSoundEffect(fileSound1);
|
||||
|
||||
if (index < 4) {
|
||||
index++;
|
||||
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
|
||||
EffetSonore.playSoundEffect(fileSound1);
|
||||
System.out.println("Page suivante");
|
||||
} else {
|
||||
InputStream fileSound2 = getClass().getResourceAsStream("/ihm/ressources/musique/BeepError.wav");
|
||||
EffetSonore.playSoundEffect(fileSound2);
|
||||
System.out.println("C'est la dernière page!");
|
||||
}
|
||||
|
||||
System.out.println("Page suivante");
|
||||
InputStream input = getClass().getResourceAsStream("/ihm/ressources/img/Regle" + index + ".png");
|
||||
Image image = new Image(input);
|
||||
imageRegles.setImage(image);
|
||||
@ -55,14 +59,18 @@ public class ReglesControlleur implements Initializable {
|
||||
|
||||
@FXML
|
||||
public void pagePrecedente(MouseEvent mouseEvent) throws IOException {
|
||||
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
|
||||
EffetSonore.playSoundEffect(fileSound1);
|
||||
|
||||
if (index > 1) {
|
||||
index--;
|
||||
InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav");
|
||||
EffetSonore.playSoundEffect(fileSound1);
|
||||
System.out.println("Page précédente");
|
||||
} else {
|
||||
InputStream fileSound2 = getClass().getResourceAsStream("/ihm/ressources/musique/BeepError.wav");
|
||||
EffetSonore.playSoundEffect(fileSound2);
|
||||
System.out.println("C'est la première page!");
|
||||
}
|
||||
|
||||
System.out.println("Page précédente");
|
||||
InputStream input = getClass().getResourceAsStream("/ihm/ressources/img/Regle" + index + ".png");
|
||||
Image image = new Image(input);
|
||||
imageRegles.setImage(image);
|
||||
|
@ -9,7 +9,6 @@
|
||||
<?import javafx.scene.layout.VBox?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
|
||||
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="480.0" prefWidth="640.0" style="-fx-border-color: white; -fx-background-color: black;" stylesheets="@style/popUp.css" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ihm.controller.PauseController">
|
||||
<children>
|
||||
<VBox alignment="TOP_CENTER" prefHeight="480.0" prefWidth="640.0">
|
||||
@ -46,6 +45,29 @@
|
||||
<Insets bottom="5.0" />
|
||||
</VBox.margin>
|
||||
</HBox>
|
||||
<HBox prefHeight="38.0" prefWidth="337.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>
|
||||
</children>
|
||||
<padding>
|
||||
<Insets bottom="10.0" top="10.0" />
|
||||
</padding>
|
||||
</HBox>
|
||||
<HBox alignment="CENTER_LEFT">
|
||||
<children>
|
||||
<Label text="Effet sonores">
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.CheckBox?>
|
||||
<?import javafx.scene.control.ComboBox?>
|
||||
@ -13,12 +14,29 @@
|
||||
<children>
|
||||
<HBox alignment="TOP_CENTER" layoutX="146.0" layoutY="171.0" prefHeight="242.0" prefWidth="507.0" spacing="10.0">
|
||||
<children>
|
||||
<VBox prefHeight="309.0" prefWidth="127.0" spacing="50.0">
|
||||
<VBox prefHeight="348.0" prefWidth="195.0" spacing="40.0">
|
||||
<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>
|
||||
<CheckBox fx:id="cbEffetSonore" mnemonicParsing="false" styleClass="checkBox" text="%effet" />
|
||||
<VBox prefHeight="200.0" prefWidth="100.0" spacing="10.0">
|
||||
<VBox prefHeight="86.0" prefWidth="195.0" spacing="10.0">
|
||||
<children>
|
||||
<Label styleClass="titre" text="%langue">
|
||||
<font>
|
||||
@ -27,7 +45,15 @@
|
||||
</Label>
|
||||
<ComboBox fx:id="langues" prefHeight="26.0" prefWidth="90.0" />
|
||||
</children>
|
||||
<VBox.margin>
|
||||
<Insets />
|
||||
</VBox.margin>
|
||||
</VBox>
|
||||
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
|
||||
<children>
|
||||
<Button alignment="CENTER" mnemonicParsing="false" onMouseClicked="#enregistre" styleClass="bouton" stylesheets="@style/menu.css" text="%enregistrer" />
|
||||
</children>
|
||||
</HBox>
|
||||
</children>
|
||||
</VBox>
|
||||
</children>
|
||||
@ -37,6 +63,5 @@
|
||||
<Font size="36.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Button layoutX="340.0" layoutY="525.0" mnemonicParsing="false" onMouseClicked="#enregistre" styleClass="bouton" stylesheets="@style/menu.css" text="%enregistrer" />
|
||||
</children>
|
||||
</Pane>
|
||||
|
Loading…
x
Reference in New Issue
Block a user