목표
- 적의 격추 수에 따른 점수 표시
구현 순서
- 게임 모드 베이스에 점수를 누적시키는 함수 생성
- 총알이 Enemy에 닿을 때마다 점수 누적 함수 실행
- 화면에 출력하기 위한 UI 위젯 제작
- 점수 텍스트에 현재 누적된 점수 출력
1. 점수 누적 함수 만들기
- 점수 UI 표시를 위한 점수 계산이 필요
- 점수 저장 변수, 점수 누적 기능 함수 구현 필요
- 함수를 어디 클래스에서 구현해야하는지?
- 게임 룰에 관한 기능이기 때문에 게임 모드 베이스 클래스에 구현
점수 누적 함수 만들기 (GameModeBase)
- Integer 타입 CurrentScore 변수 생성
- Add Score 함수 생성
- 로직 블루프린트로 구현
2. 점수 누적 함수 호출하기
- 기존 총알에 적이 닿았을 떄 발생하는 로직에 점수 누적 함수 호출 로직을 추가합니다.
- 로직에서 총알이 이펙트를 나타낸 이후에 Get GameMode를 통한 GameModeBase를 호출합니다.
- GameModeBase를 캐스팅한 후 Add Score 함수를 호출하고 점수 1점을 넣어줍니다.
- 이후 총알을 삭제합니다.
3. 현재 점수 UI 제작하기
UI는 위젯 블루프린트라는 조금 특별한 형태의 블루프린트로 제작해야 합니다.
위젯 생성
UMG 창 활성화
Canvas Panel
지정한 초록 화면 내의 UI들만 표현하고 외부의 것들은 표현하지 않습니다.
Canvas의 해상도 변경
우측 하단을 마우스 포인터로 잡으면 해상도가 변경 가능하다.
텍스트 블록에 블루프린트 바인딩
Detatils 탭에서 Content Binding 클릭
BluePrints 작성
- Data 얻어오기
- Cast To BP_GameModeBase 노드로 접근
- Current Score 가져오기
- 해당 Current Score 값 반환하기.
- 반환된 값은 Text에 설정됩니다. (Set)
4. 위젯을 화면에 출력하기
- 플레이 시 Create Widget 노드를 생성합니다.
- Create Widget에 WBP_MainWidget Class를 등록합니다
- Add to Viewport 노드를 생성하고 연결합니다.
최종 플레이 화면
참고
UE5 인생 언리얼 프로젝트 1권을 실습하고 작성한 글입니다.
'Unreal' 카테고리의 다른 글
UE - 실행 파일로 패키징 (0) | 2024.10.05 |
---|---|
UE - 프로젝트 베타 타입 최고 점수 표시 및 제작 (0) | 2024.09.28 |
UE - 프로젝트 알파 타입 - 외부 모델링 교체 (0) | 2024.09.14 |
UE - 프로젝트 프로토 타입 - 슈팅 프로젝트(배경 스크롤) (0) | 2024.09.07 |
UE - 프로젝트 프로토 타입 - 슈팅 프로젝트(충돌 처리) (0) | 2024.08.31 |