这次我们使用C++计时器写一个定时爆炸的地雷。
在UE4蓝图中,我们可以使用KismetSystemLibrary中的Delay函数来设置下一节点的延迟。
而我们在UE4C++项目中,可以使用Timer定时器来实现同样的效果。
UE4的定时器——FTimerManager
(1)SetTimer 用于创建定时器,以设定间隔调用特定的本地函数
template<class UserClass>
void SetTimer
(
FTimerHandle & InOutHandle,
UserClass * InObj,
typename FTimerDelegate::TUObjectMethodDelegate_Const< UserClass >::FMethodPtr InTimerMethod,
float InRate,
bool InbLoop,
float InFirstDelay
)
实际应用中可如下使用:
World->GetTimerManager().SetTimer(TimerHandle,Callback,Rate,bLoop,FirstDelay);
TimerHandle 管理Timer的Handle
Callback 要调用的函数
Rate 调用该函数的秒数
bLoop 是否循环
FirstDelay 要持续多久
(2)ClearTimer 可清理之前设置的定时器,使其不再执行。