728x90
반응형
메뉴클래스
메뉴를 만드는 방법은 다양하다. 그럼에도 메뉴클래스를 만드는 이유는 한번 제작하면 새프로젝트에서 다시 만들 필요없다는 점에 있다. C++클래스를 만든후 블루프린트로 상속받을 예정이다.
1.메뉴클래스 생성
우선 위젯클래스를 생성해준다.
그후, 위젯을 사용하기 위해서 build.cs에 모듈을 추가해준다.
//MultiplayerSession.Build.cs
PublicDependencyModuleNames.AddRange(
new string[]
{
"UMG",
"Slate",
"SlateCore"
}
);
모듈을 추가했다면 기본적인 위젯설정을 해준다.
//Menu.h
public:
UFUNCTION(BlueprintCallable)
void MenuSetUp();
//Menu.cpp
void UMenu::MenuSetUp()
{
AddToViewport();
SetVisibility(ESlateVisibility::Visible);
bIsFocusable = true;
UWorld* World=GetWorld();
if (World)
{
APlayerController* PlayerController = World->GetFirstPlayerController();
if (PlayerController)
{
FInputModeUIOnly InputModeData;
InputModeData.SetWidgetToFocus(TakeWidget());
//사용자 위젯지정
InputModeData.SetLockMouseToViewportBehavior(EMouseLockMode::DoNotLock);
//마우스를 뷰포트에 고정할지 여부
PlayerController->SetInputMode(InputModeData);
//구현사항을 플레이어 컨트롤러에 지정
PlayerController->SetShowMouseCursor(true);
}
}
}
2.메뉴위젯 만들기
먼저 메뉴클래스를 상속받은 블루프린트를 생성한다.
블루프린트에서 버튼과 텍스트를 이용하여 host와 join을 생성한다.
생성했다면 프로젝트의 Binary,Intermediate,Save를 모두 지워준다.
그후 블루프린트창->레벨 블루프린트 열기->이벤트그래프에서 위젯을 생성해준다.
실행하면 이런식의 화면이 뜨게 된다.
728x90
반응형
'UE5 > UE5 MultiPlayerGame' 카테고리의 다른 글
MultiPlayerGame) 12. 세션 만들기 (0) | 2022.06.13 |
---|---|
MultiPlayerGame) 11. 서브시스템 액세스 (0) | 2022.06.13 |
MultiPlayerGame) 9. 세션인터페이스 델레게이트 설정 (0) | 2022.06.09 |
MultiPlayerGame) 8. 자체 서브시스템 생성 (0) | 2022.06.07 |
MultiPlayerGame) 7. 플러그인 생성 (0) | 2022.06.07 |
댓글