less than 1 minute read

개인 프로젝트의 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