1. 레벨별 랜덤 스폰되는 아이템
2. 레벨별 스폰 맵 모듈 추가
3. 추가 레벨
4. 리스폰 로직 수정
5. UI
6. 사운드
공중 리스폰
문제 : 이동 플랫폼 위에서 리스폰 지점이 저장되고 2초 안에 죽었을 때 해당 위치로 리스폰되어 계속 낙사를 했다.
해결 : 현재 플레이어가 서있는 플랫폼의 클래스를 확인하여 이동/회전 플랫폼이라면 리스폰 위치를 갱신하지 않았다.
리스폰 위치 초기화
문제 : 게임 시작하자마자 플레이어가 죽었을 때 (0, 0, 0)에서 리스폰
해결 : GameMode 에서 2초마다 리스폰 지점을 갱신하는 로직이었는데 캐릭터가 스폰되는 시점에 리스폰 지점을 초기화 하려고보니 GameMode에서 이것을 확인하기가 비효율적이라고 생각해 해당 로직을 캐릭터 클래스로 옮겼다.
캐릭터가 스폰되는 시점에 BeginPlay()에서 스폰 위치로 초기화하고 타이머를 통해 2초마다 갱신하도록 했다. 그리고 플레이어가 죽었을 때 GameMode에서 리스폰이 필요한지 확인하여 리스폰 위치 값을 Getter로 가져오게 수정했다.
void AHW06_Character::UpdateRespawnTransform()
{
FHitResult FloorHit = GetCharacterMovement()->CurrentFloor.HitResult;
AActor* FloorActor = FloorHit.GetActor();
if (FloorActor &&
!FloorActor->IsA(AMovingObstacleBase::StaticClass()) &&
!FloorActor->IsA(ARotatingObstacleBase::StaticClass()))
{
RespawnTransform=GetActorTransform();
}
}
캐릭터: Cemetery - Mummy - Undead Character | Free Gift December 2024
사탕 아이템: Cute Candy
장애물, 플랫폼: 내일배움캠프 언리얼 3/4기 제공
배경 음악