언리얼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)키를 누르면 메뉴위젯을 띄우고 숨기고를 토글시킨다.
실행결과


댓글남기기