Timer相关【UE4】【C++】

方法一

.h文件

FTimerHandle Timer;
void TestFun();

.cpp文件

GetWorld()->GetTimerManager().SetTimer(Timer, this, &AMyActor::TestFun, 5.f, false);
GetWorld()->GetTimerManager().ClearTimer(Timer);  //清除
//GetWorld()->GetTimerManager().ClearAllTimersForObject(this); 清除全部

void AMyActor::TestFun()
{
	UE_LOG(LogTemp, Warning, TEXT("TestFun !"));
}

方法二

.h文件

FTimerDelegate TimerDel;
FTimerHandle TimerHandle;
UFUNCTION()
void TestFun1();

.cpp

TimerDel.BindUFunction(this, FName("TestFun1"));
GetWorld()->GetTimerManager().SetTimer(TimerHandle, TimerDel, 0.5f, false);

void AMyActor::TestFun1()
{
	UE_LOG(LogTemp, Warning, TEXT("TestFun1 !"));
}

带参数

.h

FTimerDelegate TimerDel1;
FTimerHandle TimerHandle1;
UFUNCTION()
void TestFun2(int32 x, float y);

.cpp

int32 myInt = 10;
float myFloat = 20.f;
TimerDel1.BindUFunction(this, FName("TestFun2"), myInt, myFloat);
GetWorld()->GetTimerManager().SetTimer(TimerHandle1, TimerDel1, 5.f, true);//设置为true会一直执行

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值