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; // 스프라이트만 숨김