UI 관련
개인 프로젝트의 UI 관련 내용입니다.
Copyright Epic Games, Inc. All Rights Reserved. —
UserWidget
- 위젯 블루프린트가 사용하는 기반 c++ 클래스는 UserWidget 이다.
- 위젯의 초기화 시점은 BeginPlay 이다.
- UI 시스템이 준비되면 NativeConstruct 함수가 호출된다.
- UI 생성은 플레이어 컨트롤러의 BeginPlay에서 호출된다.
code
// LSCharacter.cpp
// BeginPlay()
ULSCharacterWidget* CharacterWidget = Cast<ULSCharacterWidget>(HPBarWidget->GetUserWidgetObject());
if (nullptr != CharacterWidget)
{
CharacterWidget->BindCharacterStat(CharacterStat);
}
HPBarWidget->SetRelativeLocation(FVector(0.0f, 0.0f, 180.0f));
HPBarWidget->SetWidgetSpace(EWidgetSpace::Screen);
static ConstructorHelpers::FClassFinder<UUserWidget> UI_HUD("/Game/LS/UI/UI_HPBar.UI_HPBar_C");
if (UI_HUD.Succeeded())
{
HPBarWidget->SetWidgetClass(UI_HUD.Class);
HPBarWidget->SetDrawSize(FVector2D(150.0f, 50.0f));
}
HPBarWidget->SetWidgetSpace(EWidgetSpace::Screen);
HPBarWidget->SetWidgetClass(UI_HUD.Class);
- 위젯 블루프린트 에셋의 레퍼런스를 이용해 에셋의 클래스 정보를 위젯 컴포넌트의 WidgetClass 로 등록한다.
Leave a comment