유니티:컴포넌트 조작하기
편집하기
Sam
(
토론
|
기여
)
님의 2021년 8월 10일 (화) 10:07 판
(
→코드에 적용하기
)
(
차이
)
← 이전 판
|
최신판
(
차이
) |
다음 판 →
(
차이
)
둘러보기로 이동
검색으로 이동
경고: 이 문서의 오래된 판을 편집하고 있습니다.
이것을 게시하면, 이 판 이후로 바뀐 모든 편집이 사라집니다.
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
{{유니티}} ==개요== 코드로 오브젝트의 컴포넌트를 조작해야 할 때가 있다. =방법= ==드래그&드롭으로 컴포넌트 지정하기== 단순하게 생각하면 스크립트의 클래스 변수에 컴포넌트를 드래그&드롭으로 컴포넌트를 넣을 수 있다. ===컴포넌트 준비.=== 조작할 컴포넌트를 게임 오브젝트 내에 추가한다. ===코드 내에서의 준비. 프로퍼티 만들기.=== 코드 안에서 공용 변수를 지정해주어 인스펙터 창에서 볼 수 있게 한다.<syntaxhighlight lang="c#"> public class 클래스명 : MonoBehaviour { public 받을타입명 받을변수명; } </syntaxhighlight>예컨대 RigidBody를 조작하고자 한다면 <code>public RigidBody mine</code> 형태로 익스펙터 창에서 리지드바디 컴포넌트를 끌어다 놓을 공간을 보이게 할 수 있다. 리지드바디 컴포넌트 안엔 AddForce 등 힘을 가하는 물리기능을 포함하고 있다. 위처럼 필드를 public으로 할당하면 인스펙터 창에서 편집이 가능하게 보인다.(mine이라는 필드 안에 Rigidbody라는 형태로 보임) 이를 프로퍼티라 부른다. ===코드에 적용하기=== 이처럼 지정된 공용변수를 필드라 부르는데, 필드에 해당 컴포넌트를 드래그&드롭한다.(해당 컴포넌트를 접어두고 옮기면 편하다.) 이후, '받을변수명'을 조작함으로써 컴포넌트를 다룰 수 있다. ==코드 내에서 컴포넌트 가져오기== 드래그&드롭은 직관적이고 편하지만, 조작에 실수가 있을 수도 있고, 코드로 해결하고 싶은 경우도 있다. 그런 경우, 다음과 같이 해당 컴포넌트를 가져올 수 있다.<syntaxhighlight lang="c#"> public class 클래스명 : MonoBehaviour { private 받을타입명 받을변수명; void 메서드명() { 받을변수명 = GetComponent<컴포넌트명>(); } } </syntaxhighlight>가져오고 싶은 것이 RigidBody라면 다음과 같이 작성한다.<syntaxhighlight lang="c#"> public class Move : MonoBehaviour { private Rigidbody playerRigidbody; void Start() { playerRigidbody = GetComponent<Rigidbody>(); } } </syntaxhighlight>컴포넌트를 가져올 때, 해당 컴포넌트가 없다면 null을 반환한다. =기타= ===transform=== 트렌스폼 컴포넌트는 편의상 GetComponent를 사용할 필요 없이, <code>transform</code> 변수로 바로 불러올 수 있게 되어있다. ===게임 오브젝트에 접근하기=== 코드 내에서 gameObject라는 변수로 게임오브젝트에 접근이 가능하다. ===게임 오브젝트 활성화, 비활성화=== 다음과 같이 게임 오브젝트가 기본적으로 갖고 있는 메서드를 이용해 오브젝트 활성/비활성이 가능하다.<syntaxhighlight lang="c#"> public void End() { // public으로 해주면 외부에서 이 함수에 접근할 수 있다. gameObject.SetActive(false); // gameObject는 이 코드를 담고 있는 오브젝트를 의미한다. } </syntaxhighlight>
요약:
학교의 모든 지식. SMwiki에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
학교의 모든 지식. SMwiki:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
이 문서에서 사용한 틀:
틀:유니티
(
편집
)
둘러보기 메뉴
개인 도구
로그인하지 않음
토론
기여
로그인
이름공간
문서
토론
한국어
보기
읽기
편집
원본 편집
역사 보기
더 보기
검색
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보