h文件
FTimerHandle MemberTimerHandle;
void RepeatingFunction();
cpp文件
GetWorldTimerManager().SetTimer(MemberTimerHandle, this, &AMyStaticMeshActor::RepeatingFunction, 0.015f, true, 0.0f);
第三个参数是需要定时运行的逻辑函数
tick代理方式
h文件
FTickerDelegate TickDelegate;FDelegateHandle TickDelegateHandle;bool MyTick(float DeltaSeconds);
cpp文件
// Sets default values
AMyActor2::AMyActor2()
{// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.PrimaryActorTick.bCanEverTick = true;TickDelegate = FTickerDelegate::CreateUObject(this, &AMyActor2::MyTick);TickDelegateHandle = FTicker::GetCoreTicker().AddTicker(TickDelegate);
}// Called when the game starts or when spawned
void AMyActor2::BeginPlay()
{Super::BeginPlay();}// Called every frame
void AMyActor2::Tick(float DeltaTime)
{Super::Tick(DeltaTime);}bool AMyActor2::MyTick(float DeltaSeconds)
{GEngine->AddOnScreenDebugMessage((uint64)-1, 2.0f, FColor::Emerald, FString::Printf(TEXT("mytick")));return true;
}