-
[유니티] 3강 클래스와 컴포넌트[유니티] 기본 2022. 5. 30. 21:27728x90
C#에는 클래스 단위가 최소 단위다. 클래스내의 변수, 즉 멤버 변수끼리 주고 받을수 있는 상호작용을 해야하는데 이번에 그걸 알아보자.
1. 테스트를 위해서, 하나의 객체와 같은 이름의 cs파일을 만들고 서로 연동 시켰다.
2. 새로 만든 IntroObj.cs파일을 열어서 public으로 출력함수를 만들었다.
3. IntroMgt.cs에서 방금 만든 함수를 한번 불러보자.
시작하는 함수에서 해당 객체를 가져와서 방금 만든 함수를 불러왔다.(FindObjectOfType)
출력이 잘 되는것을 확인 할 수 있다. 이쯤되면 눈치가 빤한 사람이면 벌써 눈치챘을것이다. 만들어진거 가져왔을 뿐이다. 직접 만들기보다는(할당/해제) 거의 유니티에 맡기고 값이나 바꾸고 하는게 다다.
(어쩌면 이 부분 때문에 기획자나 디자이너가 좋아하는 엔진일것이다. 프로그래머에게는 이것 때문에 성가신 일이 많다)
4. IntroObj 객체에 IntroObj.cs IntroObj2.cs 2개를 연동시키고 3개의 스크립트에 각각 Start()에 출력문을 넣었다.
객체 하나에 스크립트 파일을 여러개 넣을수 있고, 각 스크립트의 함수도 상황에 따라 잘 실행됨을 알 수 있다.
IntroObj객체 안에 있는 IntroObj클래스와 IntroObj2클래스간에 서로 참조할때 GetComponent 함수를 쓴다는걸 명심하자.
정리한다.
1. 한개의 객체에 여러개의 스크립트 파일을 넣더라도, 스크립트 내의 함수들은 상황에 따라 전부 호출된다.
2. 외부 객체에 있는 클래스에 접근할때는 FindObjectOfType함수를 사용하고, 같은 객체에 있는 클래스에 접근할때는 GetComponent 를 이용하면 된다.
-끗-
'[유니티] 기본' 카테고리의 다른 글
[유니티] 5강 컨트롤러(키보드, 마우스) (0) 2022.05.30 [유니티] 4강 변수 (0) 2022.05.30 [유니티] 2강 스크립트 생성 및 작성 (0) 2022.05.30 [유니티] 1강 유니티 프로젝트 (0) 2022.05.30 [유니티] 0강 유니티 강의 목차 및 셋팅 (0) 2022.05.21