UE5 C++计时器
计时器一:
.h文件
FTimerHandle TimerHandle_BetweenShot;//定义时间句柄
void StartFire();void EndFire();
.cpp文件
#include “TimerManager.h”
void ASpaceShip::StartFire()
{GetWorldTimerManager().SetTimer(TimerHandle_BetweenShot, this, &ASpaceShip::Fire, TimeBetweenShot, true, 0.0f);//设置计时器
}void ASpaceShip::EndFire()
{GetWorldTimerManager().ClearTimer(TimerHandle_BetweenShot);//清除计时器
}
计时器二:
.h文件
void RestartLevel();//游戏重新开始void OnDeath();FTimerHandle TimerHandle_Restart;
.cpp文件
#include “TimerManager.h”
#include “kismet/GameplayStatics.h”
void ASpaceShip::RestartLevel()
{//重新打开关卡UGameplayStatics::OpenLevel(this, "SmallPlaneMainMap");}
void ASpaceShip::OnDeath()
{//设置碰撞组件的可见性CollisionComp->SetVisibility(false);//每隔2秒循环(false)执行一次重新打开关卡函数GetWorldTimerManager().SetTimer(TimerHandle_Restart,this,&ASpaceShip::RestartLevel,2.0f,false);}