Unreal C++ · Example

Character의 변화가 PlayerController를 거쳐 HUD 위젯에 도착합니다

이 절의 코드는 함수 바인딩에 모든 갱신을 맡기기보다, AMyPlayerController가 UMyPlayerHUD 인스턴스를 만들고 값 변경 시 UpdateHealth, UpdateAmmo를 호출하는 흐름을 보여 줍니다.

세 클래스의 책임

C++ HUD
UMyPlayerHUD

UMG 위젯과 C++ 포인터를 맞춥니다

HealthProgressBar와 AmmoCountText는 디자이너의 위젯 이름과 BindWidget 변수명이 정확히 같아야 합니다.

AMyPlayerController

HUD를 생성하고 PlayerHUD 참조를 보관합니다

BeginPlay에서 PlayerHUDClass로 CreateWidget을 호출하고, 성공하면 AddToViewport로 화면에 붙입니다.

AMyCharacter

체력과 탄약이 바뀐 순간을 컨트롤러에 알립니다

BeginPlay는 초기값을 보내고, TakeDamage와 Fire는 변경된 값을 OnHealthChanged, OnAmmoChanged로 전달합니다.