반환문
저번 강의에 이어서 추가적으로 함수로 작성하면 좋아보이는 내용이 아직 남아있다.
이번에는 기존 if 문에서 DistanceMoved > MoveDistance 를 체크하는 부분과, DistanceMoved를 얻는 부분을 함수로 바꿔준다.
먼저 if 문의 경우 타입이 bool 이기 때문에 함수또한 bool 타입으로 선언해준다.
따라서 반환 타입이 없던 void 함수와 달리 해당 함수는 bool 타입을 반환하게 된다.
구현은 간단히 if 문에 있던 내용을 가져오면 된다.
대신 헤더 파일에 선언되어있는 MoveDistance와 달리 DistanceMove은 MovePlatform 함수에서 선언된 변수이기 때문에 다시 선언해줄 필요가 있다.
그러면 또 문제가 기존의 CurrentLocation또 추가적으로 선언해줄 필요가 생기는데, CurrentLocation의 위치를 보면 GetActorLocaiton임을 알 수 있고, 따라서 GetActorLocation() 을 통해 쉽게 대체할 수 있다.
이러면 MovePlatform 함수를 조금 더 깔끔하게 정리할 수 있게 된다.
기존 if 문에는 방금 만든 ShouldPlatformRetrun() 함수를 넣고, else 문을 통해 if 문 밖에 있던 것들을 넣어준다.
이제 DistanceMoved에 대해 함수로 만들어줄 차례이다.
DistanceMoved를 함수로 만들어주면 ShouldPlatformReturn() 함수를 더 깔끔하게 만들어 줄 수 있다.
이번 타입은 float 이다.
해당 함수에는 DistanceMoved를 얻을 떄 사용했던 Dist 함수를 그대로 작성해주면 된다.
이제 이렇게 만든 함수로 ShouldPlatformReturn() 함수를 더욱 깔끔하게 정리해보자.
이렇게 함수를 통하여 내가 작성했던 코드를 더 깔끔하게 만들 수 있고, 함수의 이름을 통해 주석의 역할도 겸할 수 있다.
'Unreal > Udemy 강의' 카테고리의 다른 글
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 3-27 (0) | 2024.03.13 |
---|---|
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 3-26 (0) | 2024.03.12 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 3-24 (0) | 2024.03.12 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 3-23 (0) | 2024.03.11 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 3-22 (0) | 2024.03.11 |