반응형
유니티에서는 코루틴(Coroutine)을 지원한다.
언리얼에서는 코루틴을 지원하는 지는 확실하지는 않지만...
코루틴과 비슷한 역할을 하는 API를 찾아보았다.
Timer Manager 이라는 것이다.
각설하고 사용 방법부터 보겠다.
FTimerHandle 타입의 변수를 헤더에 먼저 선언하여 전역 변수로 사용한다.
GetWorldTimerManager().SetTime 함수를 호출하여, '헤더에 선언한 Timer를 통해 delay 시간 후에 Function 함수를 호출한다.' 라고 정의해주면 된다.
함수를 등록하는건 역시 바인딩을 통해 등록하면 된다.
하지만 코루틴은 시작과 동시에 등록하면, 코루틴 함수에 있는 무한 루프문을 통하여 지속적으로 함수가 호출되지만,
방금 설명한 API는 지속적으로 호출하고 싶다면, 호출된 함수 내에 다시 SetTime 함수를 호출해야 한다.
따지고 보면 코루틴 보다는 '일정 시간 후에 한번만 호출해라.' 는 쪽에 가깝다.
그리고 등록한 함수를 해제하고 싶다면, ClearTimer를 통하여 함수를 등록한 Timer를 해제해주면 된다.
반응형
'게임 개발 끄적 > Unreal (C++)' 카테고리의 다른 글
[UE4] Send HTTP (3) | 2018.03.19 |
---|---|
[UE4] Save Game (0) | 2017.12.06 |
[UE4] 소스코드에서 이미지 로드 (2) | 2017.11.24 |
[UE4] ScreenShot (0) | 2017.11.24 |
[UE4] Json을 사용한 Load (0) | 2017.11.24 |