게임 시작 위젯
게임이 시작되기에 앞서 3초 간의 딜레이를 가지고 탱크가 움직이게 된다.
완성도를 위해 이를 위젯을 이용하여 게임 준비 시간임을 알려주어 보자.
마찬가지로 게임모드에서 해당 함수를 구현하게 된다.
해당 함수는 BlueprintImplementableEvent인데, 이는 C++에서 호출되는 C++ 함수지만 실제 기능은 블루프린트에서 구현한다는 것을 의미한다.
블루프린트에서 다뤄야하므로, private에서 선언은 불가능하다.
이제 기능 자체는 블루프린트에서 다루므로, 단순히 해당 함수가 실행되는 위치만 지정해준다.
이제 언리얼로 돌아가서 위젯 블루 프린트를 작성해주자.
이제 해당 위젯 블루프린트에서 우선 캔버스 패널을 생성해주자.
캔버스 패널을 통해 화면상 원하는 위치에 위젯 요소 배치를 하게 된다.
이제 여기에 텍스트 블록을 추가해보자.
이렇게 추가한 내용들은 좌측 하단 계층 구조 창에서도 확인이 가능하다.
그리고 캔버스 패널의 좌측 상단을 보면 아래 사진과 같이 앵커라는 것이 존재한다.
해당 앵커의 위치에 따라 텍스트 위젯의 화면 상 위치가 조정된다. (상대적)
화면 크기가 달라져도 앵커와의 거리는 일정하게 유지된다.
이러한 앵커를 통해 텍스트 블록 위치 조절이 가능하며, 우측 디테일 창에서 조정이 가능하다.
우리는 글씨가 중앙에 오도록 하기 위해 우선 앵커의 위치를 중앙으로 설정하였다.
그러면 아래와 같이 앵커가 중앙으로 오게 된다.
이를 확대해보면 다음과 같은 화면을 볼 수 있다.
앵커의 위치를 기준으로 텍스트 블록이 잡히므로, 정렬 값을 바꿔주면 앵커가 가운데로 오게 할 수 있다.
당연하게도 텍스트 내용 및 크기 등 변경이 가능하다.
폰트 항목이 따로 디테일 탭에 존재한다.
이렇게 변경하고 나면 글자 크기 등이 변동됨에 따라 텍스트 블록의 위치가 변경되고, 겉 박스의 크기 또한 실제 텍스트 크기에 맞게 변경해주어야 한다.
위치가 변동되므로 앵커에 위치에 맞게 정렬하기 위해 텍스트 블록의 위치를 (0, 0)으로 잡아 주어야 한다.
그리고 해당 화면에서 글씨가 조금 위로 가게 설정해주자.
여기서는 Y축이 음수여야 위로 이동하므로 음수로 값을 설정해주어야 한다. (0, -300)
이제 해당 위젯을 블루프린트에서 가져와야 한다.
먼저 우리가 C++에서 선언했던 Start Game 함수를 가져오자.
이어서 Create Widget 함수를 통해 해당 Widget을 가져오고, Add to ViewPort 함수를 통해 화면에 보여주게 된다.
'Unreal > Udemy 강의' 카테고리의 다른 글
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 5-34 (0) | 2024.04.13 |
---|---|
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 5-33 (0) | 2024.04.13 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 5-31 (0) | 2024.04.13 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 5-30 (0) | 2024.04.09 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 5-29 (0) | 2024.04.09 |