▣ FTimerHandle HitSoundDelayHandle
타이머 핸들(Handle):
이 변수는 타이머를 식별하는 데 사용됩니다.
특정 타이머를 관리하거나 중지(ClearTimer)하기 위해 필요합니다.
FTimerHandle은 FTimerManager와 함께 작동하며, 타이머 설정, 실행, 삭제 등을 처리합니다.
▣ GetWorld()->GetTimerManager()
타이머 매니저(Timer Manager):
GetTimerManager()는 타이머를 관리하는 클래스인 FTimerManager에 접근하는 함수입니다.
이를 통해 타이머를 생성, 시작, 정지, 리셋할 수 있습니다.
GetWorld() 함수는 현재 월드의 포인터를 반환하며, 이를 통해 타이머 매니저를 사용할 수 있습니다.
▣ SetTimer 함수
SetTimer는 지정된 시간 후에 특정 함수가 호출되도록 설정합니다.
매개변수 설명:
FTimerHandle& InOutHandle:
타이머를 식별하는 핸들. 타이머를 관리하거나 취소할 때 사용됩니다.
UObject* Object:
함수가 실행될 객체. 여기서는 this가 전달되어 AZombieBase 클래스의 멤버 함수가 실행됩니다.
FunctionPtr Function:
호출할 함수의 포인터. &AZombieBase::PlayHitSound로 지정되었습니다.
float Time:
타이머가 트리거되기까지 기다릴 시간(초 단위). 여기서는 0.1초로 설정되었습니다.
bool bLoop:
true면 함수가 반복 실행되고, false면 한 번만 실행됩니다.
▣ 람다 함수란?
람다(Lambda)는 간단한 함수를 선언 없이 즉석에서 만드는 방식입니다.
▣ 람다 설명
[캡처](매개변수) -> 반환형 {
실행 코드
};
[] → 캡처 리스트 (외부 변수 가져올지 말지)
() → 매개변수 자리 (파라미터 입력 가능)
{} → 실행할 코드 블럭
예시의미
[Zombie] | Zombie 변수만 캡처 |
[&] | 모든 외부 변수를 참조(reference)로 캡처 |
[=] | 모든 외부 변수를 값(value)으로 캡처 |
▣ 만약 매개변수를 받는다면?
예를 들어, 값을 받아서 로그를 찍고 싶다면:
[ ](int Value) {
UE_LOG(LogTemp, Warning, TEXT("값: %d"), Value);
};
▣ 기호의미
[] | 외부 변수 캡처 (람다 안에서 사용할 외부 변수) |
() | 함수의 매개변수 자리 (지금은 아무 것도 안 받으므로 비어있음) |
{} | 실행할 코드 블럭 |
'[ Unreal5 ] > - 언리얼엔진5 실습' 카테고리의 다른 글
언리얼엔진5 Pain Causing Volume (함정, 불, 발판 데미지 볼륨) (0) | 2025.01.13 |
---|---|
언리얼엔진5 Blueprint Camera Zoom (0) | 2025.01.11 |
언리얼엔진5 Texture 성능최적화 (2) | 2024.12.18 |
언리얼엔진5 Material Base (0) | 2024.12.17 |
언리얼엔진5 c++ Widget Texture 제거 (0) | 2024.12.02 |
댓글