🔥 11/21목요일 목표 🔥
🔎 팀 프로젝트 사운드 매니저 정리완료하기
🔎 팀 프로젝트 사운드 설정하기
🔎 팀 프로젝트 슬라이더에 사운드연결하기
Resources 파일에서 로드 하고 싶어 아래의 주석처리 된것을 불러 왔지만,
로드 되는것은 GameObject이라 로드가 되지 않았음.
void Start()
{
GameManager.instance.SoundManager = this;
audioSource = GetComponent<AudioSource>();
GameAudioSource = GameManager.instance.GetComponent<AudioSource>();
if (GameAudioSource == null)
{
GameAudioSource = GameManager.instance.gameObject.AddComponent<AudioSource>();
}
audioSource.volume = musicVolume; //볼륨 초기화
//GameObject backGroundMusicSliderPrefabs = Resources.Load<GameObject>("UI/BGM");
//backGroundMusicSlider = backGroundMusicSliderPrefabs.GetComponent<Slider>();
//backGroundMusicSlider.onValueChanged.AddListener(ChangeVolume);
GameAudioSource.volume = effectVolume;
//GameObject effectVolumeSliderPrefabs = Resources.Load<GameObject>("UI/SFX");
//effectVolumeSlider = effectVolumeSliderPrefabs.GetComponent<Slider>();
//effectVolumeSlider.onValueChanged.AddListener(ChangeEffectVolume);
PlayMusic(mainMusicClip);
}
모든 UI를 프리팹화 하여 동적생성해주면서,
프리팹 내부에 달아 줘야하는 스크립트를 따로 만들게 됨
UIManager에서 Slider의 Value값을 OnValueChanged
public class UISoundController : UIBase
{
[SerializeField]private Slider backGroundMusicSlider;
[SerializeField]private Slider effectVolumeSlider;
private SoundManager sound;
private void Start()
{
sound = GameManager.instance.SoundManager;
//슬라이더의
backGroundMusicSlider.value = sound.audioSource.volume;
effectVolumeSlider.value = sound.GameAudioSource.volume;
backGroundMusicSlider.onValueChanged.AddListener(ChangeVolume);
effectVolumeSlider.onValueChanged.AddListener(ChangeEffectVolume);
}
public void ChangeVolume(float volume)
{
sound.ChangeVolume(volume);
}
public void ChangeEffectVolume(float volume)
{
sound.ChangeEffectVolume(volume);
}
}
🔥 11/22금요일 목표 🔥
🔎 팀 프로젝트 발표 하기
'Unity 내배캠 TIL' 카테고리의 다른 글
Unity 게임 개발 최종 팀 프로젝트(10주차 2일) (1) | 2024.11.27 |
---|---|
Unity 게임 개발 최종 팀 프로젝트 (10주차 1일) (1) | 2024.11.25 |
Unity 게임 개발 심화 (9주차 4일) (0) | 2024.11.25 |
Unity 게임 개발 심화 (9주차 3일) (1) | 2024.11.25 |
Unity 게임 개발 심화 (9주차 2일) (0) | 2024.11.19 |