시작시 @Sound가 생성안되고있습니다.
356
이황욱
작성한 질문수 2
0
NullReferenceException: Object reference not set to an instance of an object SoundManager.Play (Define+Sound type, System.String path, System.Single pitch) (at Assets/Scripts/Managers/SoundManager.cs:64) TestSound.OnTriggerEnter (UnityEngine.Collider other) (at Assets/Scripts/TestSound.cs:29) 에러가 발생합니다.
DontDestoryOnLoad에는 @Sound가 없고, @Manager만 있습니다.
현재 사운드 매니저는
DontDestoryOnLoad에는 @Sound가 없고, @Manager만 있습니다.
현재 사운드 매니저는
public class SoundManager
{
AudioSource[] _audioSources = new AudioSource[(int)Define.Sound.MaxCount];
//MP3 Player -> AudioSource
//MP3 음원 -> AudioClip
//관객(귀) -> AudioListner
public void Init()
{
GameObject root= GameObject.Find("@Sound");
if(root = null)
{
root = new GameObject { name = "@Sound" };
Object.DontDestroyOnLoad(root);
string[] soundNames = System.Enum.GetNames(typeof(Define.Sound));
for(int i = 0; i<soundNames.Length -1; i++)
{
GameObject go = new GameObject { name = soundNames[i] };
_audioSources[i] = go.AddComponent<AudioSource>();
go.transform.parent = root.transform;
}
_audioSources[(int)Define.Sound.Bgm].loop = true;
}
}
public void Play(Define.Sound type,string path, float pitch = 1.0f)
{
if (path.Contains("Sounds/") == false)
path = $"Sounds/{path}";
if (type == Define.Sound.Bgm)
{
AudioClip audioClip = Managers.Resource.Load<AudioClip>(path);
if(audioClip == null)
{
Debug.Log($"AudioClip Missing !: {path}");
return;
}
//ToDo
}
else
{
AudioClip audioClip = Managers.Resource.Load<AudioClip>(path);
if(audioClip == null)
{
Debug.Log($"AudioClip Missing ! : {path}");
return;
}
AudioSource audioSource = _audioSources[(int)Define.Sound.Effect];
audioSource.pitch = pitch;
audioSource.PlayOneShot(audioClip);
}
}
이고,
Managers 스크립트는
이고,
Managers 스크립트는
public class Managers : MonoBehaviour
{
static Managers s_Instance; // 유일성이 보장
static Managers Instance { get { Init(); return s_Instance; } }//유일한 매니저를 갖고온다.
InputManager _input = new InputManager();
ResourceManager _resource = new ResourceManager();
SceneManagerEx _scene = new SceneManagerEx();
SoundManager _sound = new SoundManager();
UIManager _ui = new UIManager();
public static InputManager Input { get { return Instance._input; } }
public static ResourceManager Resource { get { return Instance._resource; } }
public static SceneManagerEx Scene { get { return Instance._scene; } }
public static SoundManager Sound { get { return Instance._sound; } }
public static UIManager UI { get { return Instance._ui; } }
void Start()
{
Init();
}
void Update()
{
_input.OnUpdate();
}
static void Init()
{
if(s_Instance == null)
{
GameObject go = GameObject.Find("@Managers");
if(go== null)
{
go = new GameObject { name = "@Managers" };
go.AddComponent<Managers>();
}
DontDestroyOnLoad(go);
s_Instance = go.GetComponent<Managers>();
s_Instance._sound.Init();
}
//초기화
}
}
입니다. 몇번 뒤져봐도 뭐가 잘못된지 모르겠습니다... 도와주세요!
입니다. 몇번 뒤져봐도 뭐가 잘못된지 모르겠습니다... 도와주세요!
답변 1
비쥬얼 스튜디오에서 unity연결이 없습니다.
0
41
2
UI 기능 관련 질문이 있습니다!
0
47
2
픽셀 좌표 스크린 좌표
0
35
0
전체적으로 코드 읽는게 굉장히 오래 걸리네요...
0
83
2
카메라 #2 수업 캐릭터 쓰러짐 해결
0
87
1
플레이어 움직임이 끝날때, 기울어짐 현상
0
86
1
Input 적용과 관련하여 질문 있습니다.
0
76
1
디버그 불가.. Unity에 연결 불가
0
85
1
달리기 애니메이션 에러
0
92
2
오랜만에 게임을 만들다가 사운드 관련해서 뭔가 궁금한게 있어서 봤습니다
0
67
1
GetKey 오류
0
114
2
에셋을 어디에 올려두신지 알 수 있나요?
0
109
1
재귀호출? 오류나는데 왜 이래요 ?
0
170
6
Animation blending 파라미터 계산
0
70
1
newPos와 to지점이 겹쳐져야 하는거 아닌가요?
0
98
3
오브젝트 복제하니까 자꾸 이런게 뜨면서 꺼집니다
0
89
2
질문있습니다
0
144
2
아 이거 소스코드 같은거 없나요?
0
144
3
질문 드립니다. string.IsNullOrEmpty(name)
0
89
2
@Managers 가 씬에 배치되어 있어도 문제가 되지 않나요?
0
137
2
유니티6 NavMesh 안되는분들
1
177
1
Unity6 Unity-Chan Material 마젠타 문제 해결법
7
536
1
GetComponent<Poolable> 질문드립니다.
0
104
2
UI 불러오지 못함
0
120
2





