Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- Logic Gates
- 극장 예약 프로그램
- 전처리기 정의
- 소스코드 하이라이팅
- 배열 사용X
- 개인 정리
- 두 값 교체하기
- UnityHub
- 유니티
- 프로젝트 목록 제거
- C언어
- 키입력값 받기
- 기호 상수
- ASCII CODE TABLE
- Unity
- 두 수 크기 비교 함수
- 논리 게이트
- AWS Discovery Book
- 반사 벡터
- 2차원 배열
- C 언어
- 문자 분류
- Axes
- 유니티허브
- 미리 컴파일된 헤더 사용안함
- scanf 오류
- time.h
- round()함수
- GetAxis()메서드
- 난수 값 맞추기 게임
Archives
- Today
- Total
flrto
GetComponent<>(); 의 제네릭(Generic) 기법 본문
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
private Rigidbody playerRigidbody; // 이동에 사용할 리지드바디 컴포넌트
public float speed = 16f; //이동 속력
void Start()
{
playerRigidbody = GetComponent<Rigidbody>(); //리지드바디 컴포넌트를 유니티 에디터에서 직접 드래그&드랍
} //하지 않고 코드가 할당하게 함
void Update()
{
}
public void Die()
{
//자신의 게임 오브젝트를 비활성화
gameObject.SetActive(false);
}
}
|
void Start()
{
playerRigidybody = GetComponent<Rigidbody>();
}
다음의 GetComponent()메서드에서 사용한 꺾쇠 <> 는 제네릭(Generic)기법이다.
※ 참고 Getcomponent()는 한번만 호출하여 객체를 캐싱해두고 사용한다.
제네릭은 메서드나 클래스가 여러 타입에 호환 되게 한다. 꺾쇠안에 원하는 타입을 명시하면 클래스나 메서드가 해당
타입에 맞춰 동작한다.
제네릭을 사용하지 않으면 처리를 위한 여러 타입의 메서드나 클래스를 일일히 만들어야 한다.
예를 들자면
· GetComponentRigibody()
· GetComponentTransform()
· GetComponentRenderer()
· ....
위와 같은 문제를 해결하기 위해 GetComponent()는 제네릭을 사용할 수 있도록 구현되어 있으며
제네릭 덕분에 하나의 GetComponent() 메서드로 모든 타입의 컴포넌트에 대응할 수 있다.
'Unity > TIL' 카테고리의 다른 글
GetAxis()메서드와 입력매니저(Input Manager) (0) | 2019.05.17 |
---|---|
Unity에서의 키입력으로 오브젝트를 이동시키는 방법 (0) | 2019.05.17 |
Unity에서 gameObject 와 GameObject의 차이 (0) | 2019.05.17 |
Unity에서 사용 할 변수타입들 (0) | 2019.05.13 |
Unity에서의 클래스(2) 참조값 변경하기 (0) | 2019.05.13 |
Comments