게임 개발
유니티 Invoke, InvokeRepeating, CancelInvoke
오리의테크
2022. 2. 10. 16:00
728x90
반응형
1. Invoke
유니티 스크립트 작업 중 일정 시간이 지난 후에 함수를 실행을 하고 싶을 때 쓰는 것이 Invoke입니다.
어떻게 보면 코루틴(coroutine)과 같은 것이 아닌가 할 수 도 있지만 coroutine은 시간을 지연시키고 함수를 반복 실행을 하는 것이고, Invoke는 시간을 지연시키고 함수를 한 번만 실행을 시킨다는 점에서 차이가 있습니다.
Invoke 형식
Invoke("함수명", 지연시간);
예제
스크립트를 오브젝트에 넣고 실행을 하게 되면 위와 같은 결과가 콘솔 창에 뜰 것입니다.
2. InvokeRepeating
Invoke는 지연시간 후 한 번만 실행이 되지만 InvokeRepeating을 쓰게 되면 지정한 주기로 반복 실행이 가능해집니다.
InvokeRepeating 형식
InvokeRepeating("함수명", 지연시간, 반복주기);
예제
스크립트를 오브젝트에 넣고 실행을 시키면 5초 뒤에 함수가 실행이 되면서
1초마다 반복 실행을 시켜주는 결과가 나옵니다
이 반복을 멈추기 위해서는 CancelInvoke를 써야 합니다.
3. CancelInvoke
실행 중인 Invoke를 중지시키는 함수입니다.
CancelInvoke 형식
CancelInvoke("함수명");
예제
프로젝트를 실행하고 콘솔 창을 보면 5초 뒤에 함수가 실행을 하고 10초를 넘겼을 때
함수가 종료가 된 것을 확인할 수 있습니다.
728x90
반응형