본문 바로가기
공부/Unreal Engine 5

[언리얼5] 위젯 텍스트 롤업(C++)

by MY블로그 2024. 4. 9.

 

엔진 출력시 정확한 이름 출력 X, 스팀계정 연결후 멀티플레이시 스팀계정이름으로 플레이어 명칭 노출 확인

 

슈팅게임에서 플레이어를 처치한뒤 'A플레이어가 B플레이어를 처치' 와 같은 텍스트 알림을 롤업 방식으로 설정하기

유저위젯 클래스로 C++클래스를 생성하고

해당 클래스를 부모 클래스로 BP를 생성하여 작업.

위젯의 변수는 HorizontalBox의 계층으로 텍스트를 넣어주어 일정한 간격을 계산할 수 있도록 한다.

C++에서 해당 위젯클래스를 생성하여 뷰포트에 추가.

필요하다면 애니메이션을 커스텀하여 재생.

유저위젯 클래스형태의 배열을 생성하여 해당 배열에 있는 텍스트(위젯)를 위젯의 박스 크기만큼 위치를 설정해 주도록 한다.

 

박스, 패널, 위젯레이아웃라이브러리 헤더 사용

#include "Components/HorizontalBox.h"
#include "Components/CanvasPanelSlot.h"
#include "Blueprint/WidgetLayoutLibrary.h"

위젯 클래스는 BP와 바인딩후 사용, 애니메이션 재생함수는 단순히 블루프린트에서 재지정

이후 위젯은 일정시간후 자동소멸되도록 타이머 세팅을 해줘야 하기 때문에

타이머 핸들과 델리게이틀르 사용하여 다음 작업할 함수를 바인딩 해주도록 한다.

위젯이 제거될때 주의해야할점은 배열에 저장했던 포인터는 꼭 지워 주도록 한다.

그렇지않으면 허상포인터가 남게 된다.

 

 

댓글