Unreal - 던전 클리어 위젯 만들기

2025. 5. 25. 13:23·Unreal5 프로젝트 다이어리

던전을 클리어했을때 던전에서 플레이했던 내용을 기록하는 클리어 위젯을 만들어보도록하겠습니다

이미띄워진 클리어%를 나타내는 AI에 따로 캔버스패널을 두고 클리어가되면 해당 캔버스패널이 나타나도록 해보겠습니다

일단 사용할 Widget을 만들어주겠습니다

VerticalBox를 루트로 두고 하이어라키에 HorizentalBox를 각각 두개씩 총 4행 2열 형식으로 UI를 구성하였습니다

구성할 내용은 클리어타임, 쓰러뜨린 몬스터수, 피격횟수, 부활횟수 총 4개입니다

 

각각 클리어타임, 킬카운트, 피격횟수, 부활횟수에 대한 변수값을 바인드해줍니다

 

해당 변수값들로 text를 set하는 함수를 만듭니다

void UDungeonClearPercentWidget::SetClearPanelNumber(int32 clearTime, int32 killCount, int32 attackCount, int32 reviveCount)
{
	if (CanvasPanel_Clear)
	{
		CanvasPanel_Clear->SetVisibility(ESlateVisibility::Visible);
	}
	if (TextBlock_ClearTime)
	{
		int32 hour = clearTime / 3600;
		int32 minute = (clearTime % 3600) / 60;
		int32 second = clearTime % 60;
		//nn:nn:nn
		FString timeString = FString::Printf(TEXT("%02d : %02d : %02d"), hour, minute, second);
		TextBlock_ClearTime->SetText(FText::FromString(timeString));
	}
	if (TextBlock_KillCount)
	{
		TextBlock_KillCount->SetText(FText::AsNumber(killCount));
	}

	if (TextBlock_AttackCount)
	{
		TextBlock_AttackCount->SetText(FText::AsNumber(attackCount));
	}

	if (TextBlock_ReviveCount)
	{
		TextBlock_ReviveCount->SetText(FText::AsNumber(reviveCount));
	}

}

 

 

게임인스턴스에서 각각 변수값을 누적시켜 카운팅하는 함수를 만듭니다

void UStatGameInstance::setDungeonSkeletonDieCountting()
{
	skeletonDieSumCount++;
}

void UStatGameInstance::setDungeonSkeletonAttackCounting()
{
	skeletonHitCounting++;
}

void UStatGameInstance::setDungeonReviveCounting()
{
	reviveCount++;
}

 

 

위젯을 띄워야할때 해당 게임인스턴스에서 값을 받아와 매개변수로 넘깁니다

int32 clearTimeInt = FMath::FloorToInt(myInstance->totalClearTime);
int32 SumkillCount = myInstance->skeletonDieSumCount;
int32 hitCount = myInstance->skeletonHitCounting;
int32 reviveCount = myInstance->reviveCount;
percentWidget->SetClearPanelNumber(clearTimeInt, SumkillCount, hitCount, reviveCount);

 

 

여러가지 디테일적인 애니메이션을 추가해주었습니다

 

 

 

'Unreal5 프로젝트 다이어리' 카테고리의 다른 글

Unreal - 위젯에 동영상 파일 추가하기 (인트로)  (0) 2025.05.30
Unreal - 새로하기, 이어하기 메인메뉴 만들기  (0) 2025.05.29
Unreal - 플레이어 리스폰  (0) 2025.05.24
Unreal - 던전진행도 위젯 만들기 (스칼라 파라미터 조절하기)  (0) 2025.05.23
Unreal - 자동 흡수되는 확률형 드롭 아이템 만들기  (0) 2025.05.22
'Unreal5 프로젝트 다이어리' 카테고리의 다른 글
  • Unreal - 위젯에 동영상 파일 추가하기 (인트로)
  • Unreal - 새로하기, 이어하기 메인메뉴 만들기
  • Unreal - 플레이어 리스폰
  • Unreal - 던전진행도 위젯 만들기 (스칼라 파라미터 조절하기)
lucodev
lucodev
커피와 노트북 그리고 개발
  • lucodev
    루코 개발테이블
    lucodev
  • 전체
    오늘
    어제
    • 분류 전체보기 (123) N
      • Unreal5 프로젝트 다이어리 (73)
      • Unreal5 프로젝트 다이어리2 (5) N
      • Unreal 팁 (8)
      • Unreal 디버깅 (8)
      • C++ 프로그래머스 다이어리 (21)
        • Stack (3)
        • Hash (4)
        • Heap (2)
        • Sort (1)
      • 코드 개인보관함 (8) N
  • 인기 글

  • 최근 글

  • 최근 댓글

  • 링크

  • 공지사항

  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 태그

    unreal loading
    언리얼 look at
    언리얼 컷씬
    unreal 시퀀스
    언리얼 페이드 아웃
    언리얼 로딩
    언리얼 시퀀스
    unreal 로딩
    언리얼 foot step
    unreal look at
    unreal sequence
    언리얼 behavior tree
    언리얼 behaviortree
    언리얼 motionmatching
    언리얼 비헤이비어트리
    언리얼 로딩창
    unreal 모션매칭
    언리얼 모션매칭
    언리얼
    unreal 컷씬
  • hELLO· Designed By정상우.v4.10.3
lucodev
Unreal - 던전 클리어 위젯 만들기
상단으로

티스토리툴바