[C++] 타이머 만들기

Woogle·2022년 11월 18일
0

언리얼 엔진 5

목록 보기
32/59

2초 후에 사라지는 총알을 만든다.
이하 세가지 방법 모두 결과는 같다.


📄 AActor::SetLifeSpan

void ABullet::BeginPlay()
{
	Super::BeginPlay();

	SetLifeSpan(2.f);
}

📄 FTimerManager::SetTimer

void ABullet::BeginPlay()
{
	Super::BeginPlay();

	FTimerHandle dieTimer;	// 핸들
	GetWorldTimerManager().SetTimer(dieTimer, this, &ABullet::Die, 2.f, false);
}

void ABullet::Die()
{
	Destroy();
}

📄 FTimerDelegate::CreateLambda

void ABullet::BeginPlay()
{
	Super::BeginPlay();

	FTimerHandle dieTimer;
	GetWorldTimerManager().SetTimer(dieTimer, FTimerDelegate::CreateLambda(
		[this]()->void	// [캡처](매개변수)->Return Type{ 구현 몸체 } 
		{
			this->Destroy();
		}
	), 2.f, false);
}
profile
노력하는 게임 개발자

0개의 댓글