์”ฌ A์—์„œ ์”ฌ B๋กœ ๊ณ„์† ์™”๋‹ค๊ฐ”๋‹ค ํ•˜๋Š” ๊ฒŒ์ž„์ธ๋ฐ

์”ฌ A์—์„œ ์Œํ–ฅ ์„ค์ •์—์„œ ์Šฌ๋ผ์ด๋”๋กœ BGM๊ณผ SFX๋ฅผ ์กฐ์ •ํ•˜๋Š”๋ฐ

์กฐ์ • ์ž์ฒด๋Š” ์ž˜๋จ. ๊ทธ๋ž˜์„œ ์†Œ๋ฆฌ๋ฅผ ์•ˆ๋‚˜๊ฒŒ ๋‘˜๋‹ค 0์œผ๋กœ ์„ค์ •ํ•จ

์”ฌ B์—์„œ๋„ A์—์„œ ์„ค์ •ํ•œ ์Œํ–ฅ ์„ค์ •์ด ์ ์šฉ๋จ

๊ทธ๋Ÿฐ๋ฐ ๊ฒŒ์ž„์ด ๋๋‚˜๊ณ  ๋‹ค์‹œ ์”ฌ A๋กœ ๋„˜์–ด์˜ค๋ฉด

์Šฌ๋ผ์ด๋”๊ฐ€ ๊ฒŒ์ž„ ์ดˆ๊ธฐ ์„ค์ •์œผ๋กœ ๋Œ์•„๊ฐ€ ์žˆ์Œ

(๊ฒŒ์ž„ ์†Œ๋ฆฌ๋Š” ์„ค์ •ํ•ด๋‘” 0์œผ๋กœ ๋‘ฌ์„œ ์•ˆ๋“ค๋ฆฌ๋Š”๋ฐ ์Šฌ๋ผ์ด๋”๋งŒ ์›๋ž˜ ์ž๋ฆฌ๋กœ ๋ณต๊ท€ํ•จ)


์ด๋Ÿฐ๊ฑด ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์•ผํ• ๊นŒ?


์ฐธ๊ณ ๋กœ DontDestoryonload๋„ ์•ˆ๋จ...



SetVol.cs

public class SetVol : MonoBehaviour
{
private static SetVol instance;
public AudioMixer mixer;
public Slider slider;

public void SetBGMLevel(float silderValue){
mixer.SetFloat("MainMusic",Mathf.Log10(silderValue) * 20);
PlayerPrefs.SetFloat("MainMusic",silderValue);
LoadBGMValues();
}
public void SetSFXLevel(float silderValue){
mixer.SetFloat("SFX",Mathf.Log10(silderValue) * 20);
PlayerPrefs.SetFloat("SFX",silderValue);
LoadSFXValues();
}

void LoadBGMValues(){
Debug.Log("BGM" + slider.value);
float mainVolVal = PlayerPrefs.GetFloat("MainMusic");
slider.value = mainVolVal;
AudioListener.volume = mainVolVal;
}

void LoadSFXValues(){
Debug.Log("SFX" + slider.value);
float sfxVolVal = PlayerPrefs.GetFloat("SFX");
slider.value = sfxVolVal;
AudioListener.volume = sfxVolVal;
}


public void OnDisable() {
PlayerPrefs.Save();
}