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);}