noname02
MY UNITY REFERENCE 본문
void Invoke(String name, float time)
메서드, 호출, 반복
Invoke는 "name"메서드를 time초 뒤에 호출한다.
MonoBehaviour 클래스에 정의된 함수이니 보통 Invoke로 그냥 사용하면 된다.
void InvokeRepeating(String name, float time, float repeat_rate)
메서드, 호출, 반복
InvokeRepeating은 "name"메서드를 time초 뒤에 호출하기 시작해서 repeat_rate 초 만큼 반복해서 호출한다. 이 역시 MonoBehaviour 클래스에 정의되어있다.
void CancleInvoke(String name)
"name"에 해당하는 함수의 Invoke를 취소시킨다. Repeating과 짝을 이룬다고 볼 수 있다.
void OnTriggerEnter2D(Collider2D obj)
Friends : OnTriggerStay2D, OnTriggerExit2D
접촉, 트리거
얘는 MonoBehaviour클래스에 정의된 콜백메서드이다. 콜백메서드가 뭔고 하니 어떤 특정한 이벤트가 발생하면 시스템에서 호출하는 메서드라는 뜻이다. 따라서 이 녀석을 사용하려면 메서드 이름을 대소문자 구분 확실하게 사용해야된다.
이 메서드가 정의된 스크립트가 부착된 오브젝트의 Collider 컴포넌트에서 trigger 옵션이 켜져있는 경우, 다른 Collider가 충돌하면 당연히 trigger옵션때문에 충돌이 안되고 그냥 지나칠 것이다. 그러나 충돌 대신에 trigger를 발동하고 그 trigger가 바로 이 OnTriggerEnter2D를 호출한다.
이 trigger는 3단계로 발당되는데, 맨 처음 진입시 OnTriggerEnter2D를 1회 호출하고
해당 Collider지역에 있을때마다 프레임마다 OnTriggerStay2D를 호출한다.
그리고 마지막으로 나가면 OnTriggerExit2D를 한번 호출한다.
OnTriggerEnter2D (1회) - OnTriggerStay2D (계속) - OnTriggerExit2D (1회)
이런 순서로 호출된다.
여기서 매개변수 obj는 해당 트리거를 발동시킨 다른 오브젝트이다. 이 obj를 통해 해당 오브젝트를 코드에서 접근할 수 있다.
float Random.Range(float min, float max)
랜덤, 난수
얘를 사용하려면 일단 using Random = UnityEngine.Random; 을 선언해준다.
이 녀석은 min부터 max까지 범위 중 하나의 숫자를 리턴해준다.
void Instantiate(Object object, Vector3 position, Quaternion rotation)
복사
object클래스를 position위치에서 rotation의 각도로 생성시킨다.
Instantiate는 Object클래스에 정의되어 있는 함수다. 즉 모든 클래스의 어머니 클래스에 있는 함수이기 때문에 어디서나 사용 가능하다.
이 녀석은 매개변수로 받은 object를 복사해서 생성시키는데, 보통 이 object는 GameObject이며
스크립트에서 public GameObject obj; 을 사용하여 유니티 Inspector에 노출시켜서 참조하는 형식으로 사용된다.
GetComponent<Class>
이 녀석은 다른 오브젝트에 붙어있는 스크립트, 즉 Class를 호출할 수 있게 해준다.
보통 위에서 본 OnTriggerEnter2D와 같이 다른 오브젝트를 알 수 있는 경우,
위에서 본 OnTriggerEnter2D를 예로 들자면 obj가 trigger를 발동시킨 오브젝트니까
obj.GetComponent<Class>().~~
와 같이 사용해서 해당 오브젝트에 붙어있는 스크립트파일에 접근하여 그 스크립트에 정의되어있는 함수를 사용할 수 있게 해준다.
Screen.height, Screen.width
화면, 화면크기, 크기
모바일 화면의 크기와 넓이값을 가져온다(int). 화면분할터치에 유용하다.