본문 바로가기

Unreal/Udemy 강의

Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 2-21

리턴 타입

기존에 원래 있던 노드들을 함수로 합쳐줬지만, 이번에는 아에 새롭게 함수를 만드는 것을 테스트 해보자.

이벤트 그래프 좌측 칸의 함수 오른쪽에 있는 +버튼을 통해 함수를 생성할 수 있다.

 

생성하고 나면 위와 같이 해당 함수를 이벤트 그래프로 드래그하여 생성할 수 있다.

 

해당 함수를 더블 클릭하여 보면 처음에는 시작 노드만 존재한다.

그리고 오른쪽 디테일 탭을 보면 입력과 출력 칸을 볼 수 있다.

입력칸에 Text1 및 인티저를 설정해주면 시작노드 실행핀 아래에 해당 변수가 입력값으로 생기는 것을 볼 수 있다.

이를 테스트 삼아 Print string에 연결해주었다.

 

이벤트 그래프로 돌아가 보면 우리가 설정해준 입력값이 그대로 반영되어 있는 것을 볼 수 있다.

 

이번에는 출력 칸을 살펴보자.

출력 값으로 Out1이라는 이름의 인티저 변수를 설정해주었다.

해당 변수에는 입력 칸에서 나온 Text1에 2배를 하여 저장해주었다.

따라서 Text1*2배의 값이 인티저 형태로 반환된다.

 

입력 칸과 출력 칸에 대한 이해를 돕기 위해 함수를 하나 더 만들었다.

탄약 갯수가 0개 보다 많은지를 체크하는 2개의 노드를 하나로 묶어 Has Ammo라는 이름의 함수로 만들었다.

 

해당 함수의 세부 내역을 보면, 여기서는 입력이 존재하지 않는다.

어찌보면 당연한 것인데, Get Ammo을 통해 탄약 갯수를 가져오기 때문에 추가적인 입력이 필요하지 않는다.

 

하지만 출력 값은 존재하고 리턴 타입이 부울 인 것을 볼 수 있다.

탄약 갯수가 0보다 큰지 아닌지를 판별하고 이에 대한 참, 거짓을 반환하기 때문에 리턴 노드의 타입은 부울인 것이다.