반응형
Notice
Recent Posts
Recent Comments
Link
안 쓰던 블로그
유니티 GetComponentsInChildren이 안 될 때 해결 방법(길이가 0이라고 뜰 때) 본문
반응형
Text[] boxText = boxtext.GetComponentsInChildren<Text>();
print(boxText.Length);
Length가 0으로 나와서 빈 배열을 참고했다는 에러가 나올 때 해결 방법
일단 부모-자식 관계가 제대로 되어 있는지부터 확인한다
그리고 부모 게임 오브젝트를 GameObject.Find()로 가져왔으면 이름이 틀리진 않았는지 확인하고
public으로 가져왔으면 잘 넣어줬는지 확인한다
그리고 중요한 점
GetComponentsInChildren은 자식 오브젝트가 켜져있어야 가져와진다!!
다 꺼놓고 원하는 만큼 SetActive(True)하려고 했더니만 활성화 되어있지 않다면 아예 없는 취급하더라ㅋㅋ
+댓글로 누군가 알려주신 내용 추가
GetComponentsInChildren<T>()는 숨겨진 파라미터 includeInactive가 들어있으며, 기본값이 false입니다
여기에 인자로 bool값 true를 넣어주면 activeSelf가 꺼져있는 자식 오브젝트들도 전부 가져올 수 있습니다
includeInactive값을 true로 하면 꺼져 있는 자식 오브젝트도 가져올 수 있다고 한다!
스크립트로 필요할 때마다 자식을 손수 키고 끄고 했는데 이런 방법이 있다니 굿ㅜ
반응형
'유니티 > 개발' 카테고리의 다른 글
유니티 UI 클릭할 때 사이즈 확대, 축소, 중앙 이동(UI 오브젝트의 크기 변경, RectTransform) (0) | 2020.09.20 |
---|---|
유니티 C# 코드 정리하기-GetComponentsInChildren 사용 (0) | 2020.04.14 |
c# 배열 여러 개를 하나로 합치는 아름다운 방법(c# combine multiple arrays to one) (1) | 2020.03.27 |
유니티에서 logcat 로그 보기(유니티에서 디버깅하기) (0) | 2020.03.25 |
유니티 버튼이 부분적으로만 눌리는 문제, 한 쪽만 눌림 해결방법 (4) | 2020.03.13 |
Comments