Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Mute : MonoBehaviour
{
private AudioSource audioSource;
void Start()
{
audioSource = GetComponent<AudioSource>();
}
public void Mutemusic()
{
if (audioSource.mute) { audioSource.mute = false; }
else{ audioSource.mute = true; }
}
}
Du coup après j'ai pensé qu'avec PlayerPrefs je pouvait stocker un key int et que quand elle était sur 0 le son n'était pas mute et quand il est sur 1 le son est mute, alors j'ai fait ça:
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Mute : MonoBehaviour
{
private AudioSource audioSource;
void Start()
{
audioSource = GetComponent<AudioSource>();
}
public void Update()
{
if (PlayerPrefs.GetInt("isMuted") == 1) { audioSource.mute = true; }
else if(PlayerPrefs.GetInt("isMuted") == 0) { audioSource.mute = false; }
}
public void Muting()
{
if (PlayerPrefs.GetInt("isMuted") == 1)
{
PlayerPrefs.SetInt("isMuted", 0);
}
else if(PlayerPrefs.GetInt("isMuted")== 0)
{
PlayerPrefs.SetInt("isMuted", 1);
}
}
}
Pourriez-vous m'indiquer si je peux corriger mon script ou alors utiliser une autre méthode pour (je le répète) pouvoir Mute/Unmute en changeant de scène (si je mute dans la scène 1 ça reste mute à toutes les scènes et je peux Unmute quand je veux)
Désolé je me répète beaucoup mais j'avais envie d'expliquer au mieux
Merci d'avance! ( =
PS: l'Audiosource ne recommence pas à chaque scène, il a un script DontDestroyOnLoad