Programing/UNITY

[Unity] 5.2 스크립팅 - 정의되어 있는 함수, 이벤트 함수, AddForce

바오밥 하단 2020. 4. 30. 04:23

 

1. 정의되어 있는 함수들(자주 사용하는 7가지)

  • Debug.Log : 괄호 안의 내용을 콘솔창에 표시

  • Destroy: 괄호 안의 오브젝트를 (,시간 후에) 없앰. ex) Destroy(gameObject, 3f); -> 재생을 하면 3f(3초) 후에 게임 오브젝트가 사라진다. 시간이 안 적혀 있으면 바로 사라지는 것

  • Translate: 게임 오브젝트를 괄호 안의 좌표만큼 이동시킴. ex) transform.Translate(1f, 0f, 0f); -> (1, 0, 0)만큼 이동함. (= transform.Translate(Vector3.right);)

  • Rotate: 게임 오브젝트를 괄호 안의 좌표 만큼 회전시킴. ex) transform.Rotate(0f, 0f, 1f); (= transform.Rotate(Vector3.forward);)

  • GetKeyDown: 특정 키가 눌리는 순간 true를 반환. ex) if(Input.GetKeyDown (KeyCode.Space)); {조건문;} 스페이스 눌리면 조건문 실행.

     + GetKeyUp: 키를 눌렀다가 뗄 때 true를 반환

     + GetKey: 키를 누르고 있는 동안 true를 반환

     + Input. : 입력되는 것

     + Keycode. : 키값 구별 ex) KeyCode.left, KeyCode.rightArrow 등등

  • Instantiate: 괄호 안의 게임 오브젝트를 복제. ex) Instatiate(gameObject); 

  • GetComponent: 현재 게임 오브젝트의 다른 컴포넌트를 가져오는 함수 ex) GetComponent<SpriteRenderer>().color = Color.red; -> 색깔이 빨강으로 바뀜. GetComponent<Rigidbody2D>().gravityScale = 0f -> gravity scale이 0으로 바뀜

 

2. 이벤트 함수

  • 실행되는 시점이 미리 정해져 있는 함수

  • Start

  • Update

  • OnCollisionXXX: Collision 충돌 시 호출되는 함수 ex) OnCollisionEnter2D(Collision2D col){ }

     + ( ) 안: 충돌한 상대방 물체 정보 (Collision2D col)

     + OnCollisionEnter2D: 충돌 순간

     + OnCollisionStay2D: 충돌 중

     + OnCollisionExit2D: 충돌 끝

 

3. AddForce 함수

  • AddForce: 물체에 힘을 가하는 함수

if (Input.GetKeyDown(KeyCode.Space)) { //스페이스를 누르면

            GetComponent<Rigidbody2D>().AddForce(Vector3.up * 300f); // Vector3.up * 300f만큼 점프하는 힘을 준다.

        }