언리얼4 C++ 게임 진행 UI 추가하기
Intro
- 게임 상태에 따른 UI 추가
게임 클리어, 실패 UI
위젯 블루프린트 추가
클리어 텍스트와 버튼 2개로 이루어진 위젯을 추가
버튼 클릭시 재시작과 종료를 할수있게 구현
위젯 함수 추가
UFUNCTION(BlueprintImplementableEvent, Category = "Victory")
void VictoryUI();
UFUNCTION(BlueprintImplementableEvent, Category = "Fail")
void FailUI();
BlueprintImplementableEvent로 선언해주고 블루프린트에서 구현해준다.
캐릭터 블루프린트에서 UI를 띄우는 함수 추가 SetInputModeUIOnly
를 사용하여 UI의 입력만 허용하도록 하고 플레이어 컨트롤러에서 ShowMouseCursor
를 true
로 만들어 커서를 보이도록함
그리고 게임모드의 Victory
델리게이트에 바인드해준다음 보스 좀비의 Death
함수 실행시 호출되도록 함
gameMode->Victory.AddUObject(this, &AFPSPlayer::VictoryUI);
void ABossZombie::Death()
{
AFPSGameMode* gameMode = Cast<AFPSGameMode (UGameplayStatics::GetGameMode(GetWorld()));
gameMode->Victory.Broadcast();
}
마찬가지로 실패 UI도 캐릭터의 Death가 실행시 호출되도록함
void AFPSPlayer::Death()
{
FailUI();
}
메뉴 추가
게임중 ESC키를 통해 재시작과 종료를 할수있는 UI추가
새로만든 위젯 블루프린트를 뷰포트에 추가한다음 Hidden 시킨다
그리고 FlipFlop을 이용해 Menu(ESC)키를 누르면 메뉴위젯을 띄우고 숨기고를 토글시킨다.
댓글남기기