EndPlay, PostInitializeComponents 이벤트 처리
- EndPlay : Actor가 가상세계에서 퇴장시 호출
- PostInitializeComponents : Actor내 Component의 로딩이 끝날시 호출
// .h
virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override;
virtual void PostInitializeComponents() override;
void AFountain::EndPlay(const EEndPlayReason::Type EndPlayReason)
{
Super::EndPlay(EndPlayReason);
ABLOG_S(Warning);
}
void AFountain::PostInitializeComponents()
{
Super::PostInitializeComponents();
ABLOG_S(Warning);
}
회전하는 Actor 생성
void AFountain::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
AddActorLocaRotation(FRotator(0.f, RotateSpeed * DeltaTime, 0.f));
}
MoveComponent 활용
- FloatingPawnMovement : 중력의 영향을 받지 않는 Actor의 움직임 제공
- RotatingMovement : 지정한 속도로 Actor를 회전
- InterpMovement : 지정한 위치로 Actor를 이동
- ProjectileMovement : 중력의 영향을 받아 포물선을 그리는 발사체의 움직임 제공(주로 총알)
// .h
UPROPERTY(VisibleAnywhere)
URotatingMovementComponent* Movement;
// .cpp
Movement = CreateDefaultSubobject<URotatingMovementComponent>(TEXT("MOVEMENT"));
// ...
Movement->RotationRate = FRotator(0.0f, RotateSpeed, 0.0f);