Unity 3D - Contrôler le volume général du jeux avec un slider.
Dans Unity, voici un petit script qui permet de contrôler le volume général du jeux avec une rampe de type Fader / Slider.
Le script suivant modifie le volume d'un component Audio Listener, et doit être positionné sur un gameObject avec un 'Audio Listener'.
L'affichage du slider n'est visible qu'en mode 'exécution' car il est déclenché par le script.
Quelques remarques sur le code:
Le code en C sharp
AudioVolume.cs
using UnityEngine;
using System.Collections;
public class AudioVolume : MonoBehaviour {
private static float hSliderValue = 0.3f;
void Awake() {
AudioListener.volume = hSliderValue;
}
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnGUI(){
GUI.Box(new Rect(5,Screen.height-20,90,20),"VOLUME");
hSliderValue = GUI.HorizontalSlider(new Rect( 15,Screen.height-20,70,20 ), hSliderValue, 0.0f, 1.0f );
AudioListener.volume = hSliderValue;
}
}
Le script suivant modifie le volume d'un component Audio Listener, et doit être positionné sur un gameObject avec un 'Audio Listener'.
L'affichage du slider n'est visible qu'en mode 'exécution' car il est déclenché par le script.
Quelques remarques sur le code:
- AudioListener.volume est un float (0.0 à 1.0). Il faut donc paramétrer le fader GUI.HorizontalSlider et déclarer hSliderValue en conséquences.
- Déclarer la variable hSliderValue en 'static' permet de ne pas réinitialiser la variable lors de changement de scènes.
Le code en C sharp
AudioVolume.cs
using UnityEngine;
using System.Collections;
public class AudioVolume : MonoBehaviour {
private static float hSliderValue = 0.3f;
void Awake() {
AudioListener.volume = hSliderValue;
}
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnGUI(){
GUI.Box(new Rect(5,Screen.height-20,90,20),"VOLUME");
hSliderValue = GUI.HorizontalSlider(new Rect( 15,Screen.height-20,70,20 ), hSliderValue, 0.0f, 1.0f );
AudioListener.volume = hSliderValue;
}
}
Commentaires
Enregistrer un commentaire