UnityException 라는 오류를 당했다.
GameObject.Find("Hero").transform.GetChild(0) == null
이 지점에서 오류가 났다.
코드를 간단히 설명하자면, 버튼 여러개를 만들어, 각버튼 클릭시의 인덱스값을 CreateHero 매개변수로 받는다.
먼저 Hero 이름을 가진 게임오브젝트 껍데기를 동적으로 생성
(==null). 동적으로 생성된 Hero의 자식이 없다면, 매개변수로 받은 인덱스로 오브젝트풀에서 프리팹을 가져와서 Hero의 자식으로 넣고,
(!=null). 동적으로 생성된 Hero의 자식이 있다면 그 자식을 찾아서 ReleaseAsset으로 비활성화 시키고 오브젝트풀로 넘길려고 했는데,
UnityException이라는 생소한 오류를 당했다.
transform.GetChild(0) 이라는 API를 처음 써봤는데, 에러가나서 더 생소했다.
추측해본결과 GameObject.Find("Hero")를 찾아서 자식의 인덱스를 반환해줘야하는데,
만약 GameObject.Find("Hero").transform.GetChild(0) 가 null 이라면, 있지도 않은 "Hero" 이름의 게임오브젝트에
접근하는 꼴이 되게된다.
당연히 없는 게임오브젝트에 접근은 불가하고, 에러가 터진것같다.
혼자서 해결해 본 결과
이렇게 수정해서 해결을 보았다.
'Unity > Problems' 카테고리의 다른 글
2020-05-18 유니티 복습 (파일 입출력, 람다식, 대리자) (0) | 2020.05.18 |
---|---|
2020-05-18 유니티 파일 입출력... (0) | 2020.05.18 |
ArgumentException 오류 (0) | 2020.05.14 |
생명주기로 인한 NullReferenceException (0) | 2020.05.14 |
2020-05-14 유니티 싱글턴 패턴 이해하지 못했던것 (0) | 2020.05.14 |