Unity에서는 오브젝트에 여러 컴포넌트가 붙어 있어.
직접 코드에서 그 컴포넌트에 접근하려면
GetComponent<>를 써야 해!
<aside> 👍
피그잼 (Figma - figjam)
https://www.figma.com/ko-kr/ 학교 이메일로 가입
https://www.figma.com/team_invite/redeem/3rh4Wf6QyXNpNqOxm1LovE
https://youtu.be/GE4o7VqIAXk?si=TmYmEULc07UF4W0p
예:

public class Delivery : MonoBehaviour
{
...
~~GetComponent<Transform>();~~ ==> transform
GetComponent<SpriteRenderer>();
GetComponent<Driver>();
GetComponent<Rigidbody2D>();
GetComponent<BoxCollider2D>();
...
}
GetComponent<>는 실행 중(런타임) 에 찾기 때문에 Start()에서 한 번만 호출하는 게 좋아
Update()에서 계속 호출하면 성능에 안 좋을 수 있어
👉 그래서 보통은 변수에 한 번 저장해서 쓰는 게 좋아!
public class Delivery : MonoBehaviour
{
SpriteRenderer sr;
void Start()
{
sr = GetComponent<SpriteRenderer>();
}
void Update()
{
sr.color = Color.red;
transform.position = new Vector3(0, 0, 0);
}
}
| 항목 | 설명 |
|---|---|
| 함수 | GetComponent<SpriteRenderer>() |
| 의미 | SpriteRenderer 컴포넌트를 가져옴 |
| 쓰는 이유 | 오브젝트 색 바꾸기, 스프라이트 변경 등 |
| 자주 쓰는 곳 | 캐릭터 색상 변경, 피격 효과, 반투명 처리 등 |