변수
현재 발사체는 갯수 조절 없이 무한으로 발사할 수 있다.
발사체의 갯수를 정해 일정 갯수를 발사하면 더 이상 발사가 불가능하게 만드는 것이 더 바람직하다.
이를 위해서 변수가 필요하다.
변수란 정보를 담고, 조작하고, 참조하는걸 뜻한다.
핵심은 정보를 담는 것이다.
예를 들어 탄약이라고 이름 붙인 상자를 생각하면 된다.
해당 상자에 20이라는 값을 넣고, 탄약이 얼마나 남았는 지를 체크해준다.
탄약이라는 이름, 20이라는 데이터, 정수라는 형식을 가지게 된다.
우선 레벨 블루 프린트의 좌측을 보면 변수를 추가하는 부분이 바로 보인다.
여기서 탄약이라는 이름의 변수를 추가해주고, 타입을 정수(인티저)로 바꿔준다.
해당 변수의 기본값 설정이 가능한데, 우선 레벨 블루 프린트를 컴파일을 해주면 위 이미지의 빨간 박스로 표시한 부분이 활성화 된다.
기본 탄약을 우선 20으로 설정해주었다.
해당 변수를 이벤트 그래프로 드래그하면, Get Ammo와 Set Ammo 2가지를 선택할 수 있다.
Get Ammo는 말그대로 탄약을 얻는 것이며, 기본값으로 설정한 20개의 탄약 정보를 가지고 오게 된다.
Set Ammo도 말그대로 탄약을 세팅하는 것이며, 입력핀 및 실행핀이 존재하여 원하는 값으로 탄약값의 수치를 변경할 수 있다.
먼저 Get Ammo를 테스트 해보자.
간단하게 플레이를 시작했을 때 현재 탄약 갯수가 출력되도록하였다.
Get Ammo를 통해 현재 탄약 정보를 가져오고, 이를 바로 Print string의 In string에 연결해준다.
정수 타입에서 문자열 타입으로 변환했기 때문에 변환노드가 생기며, 이제 실행하면 현재 탄약 정보인 20이 출력된다.
다음으로 Set Ammo이다.
탄약을 발사하면 탄약 갯수가 떨어져야 하기에 이를 Set Ammo를 사용하여 적용했다.
먼저 Get Ammo을 통해 탄약 정보를 우선 가져오고, Subtract 노드를 통해 1을 빼준다.
Set Ammo의 입력핀에 1이 감소된 탄약 정보를 가져오고, 이를 발사한 후에 실행되도록 Add Impulse 실행핀에 연결한다.
이후 바로 Print String과 연결해줌으로써 이제 탄약이 떨어질때마다 남은 탄약수가 플레이 화면에 출력된다.
원래 탄약이 0이 되면 더 이상 발사를 못하는 것이 정상이나, 현재 그 기능은 아직 없다.
이는 다음 강의에 이어서 진행하게 된다.
'Unreal > Udemy 강의' 카테고리의 다른 글
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 2-20 (0) | 2024.02.29 |
---|---|
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 2-19 (0) | 2024.02.28 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 2-17 (0) | 2024.02.28 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 2-16 (0) | 2024.02.27 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 2-15 (0) | 2024.02.26 |