카테고리 없음

25.02.25(화) - TIL 27일차 Unity 입문

rxo2 2025. 2. 25. 21:06

ForceMode2D.Impulse  // 즉시적인 힘

 

rigidbody.AddForce(Vector2.up * 10f, ForceMode2D.Impulse);

Vector2.up * 10f → 위쪽 방향으로 10의 힘을 줌.

ForceMode2D.Impulse → 순간적으로 힘을 가해서 즉시 속도 변화

 

 

if (_rigidbody.velocity.y < 0) // 하강 중
{
    _rigidbody.AddForce(Vector2.down * 9f, ForceMode2D.Force); 
}
else if(_rigidbody.velocity.y > 0) // 상승 중
{
    _rigidbody.AddForce(Vector2.up * 9f, ForceMode2D.Force); 
}  //위와 같이 사용시 빠른점프 빠른 하강이 가능하다

 

클래스를 만들면 클래스에 접근하는것이 아닌

클래스의 인스턴스를 만들고 new를 사용하여 접근한다 그것이 인스턴스

 

GameObject, Transform 란 유니티에서 미리 만들어 놓은 클래스

 

GameObject - gameObject

Transform - transform

대문자의 이유 대문자는 클래스 , 소문자는 접근할때 쓰인다

 

Public BoxCollider2D redCircleObject의

redCircleObject .gameObject.SetActive 를 사용 하면 .gameObject(컴포넌트)가 부착된 redCircleObject 에 접근이 가능

 

gameObject.SetActive 에는 this. 이 숨어있다 뜻은 내가 부착된 녀석에게 접근

gameObject.SetActive(false) 라면 게임실행시 바로 비활성화가 된다

 

 

 

유니티에서 오브젝트가 2개가 있을때 한 오브젝트안에 자식으로 하나가 들어간다면

인스펙터에 자식의 Transform 이 0 으로 된다 부모 기준위치기준으로 표시된다

 

 

enabled는 Unity의 내장 프로퍼티(Property)이다

gameObject.GetComponent<SpriteRenderer>().enabled = false; // 스프라이트 숨기기

enabled = false; → 해당 컴포넌트를 비활성화
enabled = true; → 다시 활성화

enabled는 컴포넌트 단위로 비활성화하지만,
SetActive()는 GameObject 전체(모든 컴포넌트,자식)를 비활성화합니다.

gameObject.SetActive(false); // 게임 오브젝트 전체 비활성화

gameObject.GetComponent<SpriteRenderer>().enabled = false; // 스프라이트만 숨김