this 키워드
440
작성한 질문수 81
글 쓰다 보니까 절로 답을 찾은거 같지는 한데 혹시나 해서 확인 부탁드립니다
Managers.UI.ClosePopupUI(this);
이 코드는 UI_Popup 스크립트를 컴포넌트로 가진 게임오브젝트를 인자로 넣겠다는 뜻이죠?
답변 3
2
ClosePopupUI는 인자로 UI_Popup을 받고 있으니,
UI_Popup 스크립트를 상속받은 Component를 인자로 받겠다는 의미가 됩니다.
(게임오브젝트를 인자로 받을 것이었으면 GameObject로 받아줘야 합니다.)
Component는 반드시 GameObject에 기생하는 형태로 동작하기 때문에
GameObject를 인자로 받는 대신 이렇게 원하는 특정 Component를 받아주면 편리합니다.
그리고 Component 내부에서는 gameObject을 이용해 자기가 소속된 GameObject에 접근할 수 있고,
GameObject도 마찬가지로 GetComponent<T>를 이용해 Component를 찾을 수 있으니
언제라도 필요하면 Component <-> GameObject 사이를 왔다 갔다 할 수 있습니다.
1
현재 코드에서는 gameObject를 그냥 날려주고 있습니다.
GameObject + Component는 세트라서 굳이 하나만 없앨 이유는 없습니다.
Component'만' 삭제하기 위함이라기 보다는
정말로 그 GameObject가 해당 Component를 들고 있다는 것을
보장할 수 있기 때문에 편리합니다.
가령 UI_Popup Component를 인자로 받는다면,
UI_Popup을 상속받은 Component를 지니고 있지 않은
GameObject는 애당초 후보군에서 제외되겠죠
0
ClosePopupUI는 인자로 UI_Popup을 받고 있으니,
UI_Popup 스크립트를 상속받은 Component를 인자로 받겠다는 의미가 됩니다.
(게임오브젝트를 인자로 받을 것이었으면 GameObject로 받아줘야 합니다.)
만약에, UI_Popup 클래스를 상속받는 다른 클래스에서 ClosePopupUI()를 호출하면, 그 차일드 클래스의 componenet가 지워지는거죠?
Component는 반드시 GameObject에 기생하는 형태로 동작하기 때문에
GameObject를 인자로 받는 대신 이렇게 원하는 특정 Component를 받아주면 편리합니다.
이게 편리한 이유는 특정한 Component만을 없애고, 그 Component를 들고 있던 GameObject는 살릴수 있으니까 그런거죠?
UI 기능 관련 질문이 있습니다!
0
29
2
픽셀 좌표 스크린 좌표
0
30
0
전체적으로 코드 읽는게 굉장히 오래 걸리네요...
0
70
2
카메라 #2 수업 캐릭터 쓰러짐 해결
0
82
1
플레이어 움직임이 끝날때, 기울어짐 현상
0
81
1
Input 적용과 관련하여 질문 있습니다.
0
73
1
디버그 불가.. Unity에 연결 불가
0
78
1
달리기 애니메이션 에러
0
86
2
오랜만에 게임을 만들다가 사운드 관련해서 뭔가 궁금한게 있어서 봤습니다
0
64
1
GetKey 오류
0
109
2
에셋을 어디에 올려두신지 알 수 있나요?
0
105
1
재귀호출? 오류나는데 왜 이래요 ?
0
167
6
Animation blending 파라미터 계산
0
66
1
newPos와 to지점이 겹쳐져야 하는거 아닌가요?
0
95
3
오브젝트 복제하니까 자꾸 이런게 뜨면서 꺼집니다
0
86
2
질문있습니다
0
142
2
아 이거 소스코드 같은거 없나요?
0
140
3
질문 드립니다. string.IsNullOrEmpty(name)
0
85
2
@Managers 가 씬에 배치되어 있어도 문제가 되지 않나요?
0
134
2
유니티6 NavMesh 안되는분들
1
174
1
Unity6 Unity-Chan Material 마젠타 문제 해결법
7
524
1
GetComponent<Poolable> 질문드립니다.
0
100
2
UI 불러오지 못함
0
116
2
UI 자동화 #1 - Util.cs의 FindChild함수에서 component.name에 컴포넌트 이름이 뜹니다.
0
154
2





