본문 바로가기

Unreal/Udemy 강의

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

불리언(Boolean) 논리 연산자

저번에 만든 액터 태그를 이용하여, 실제 구현을 해줄 차례이다.

이를 위해서는 우선 접근가능한 액터있는지 확인하고, 다음으로 해당 액터가 잡힌 상태인지를 알아야한다.

2가지에 대해 체크를 해주어야하므로, 여기서 불리언 논리 연산자를 사용하게 된다.

 

접근 가능한 액터를 찾는 함수에서 수정을 하게 되는데, 기존 if문에서 접근 가능한 액터가 있을 시 바로 액터를 반환해준 부분을 수정해주면된다.

먼저 접근 가능한 액터가 있는 지 체크해주고, 잡지 않은 액터인지도 이어서 체크해준다.

위 케이스의 경우 And 연산이기에 && 기호를 사용하였다.

만약 Or 연산을 하게된다면 || 기호를 사용하게 된다.

 

이러한 불리언 논리 연산자를 사용하여 if 문이 여러개인 것을 하나로 묶어 주는 작업이 가능하다.

Grabber.cpp에 있던 Release 함수도 수정해보자.

기존에 PhyscisHandle이 널인지 아닌지를 확인하고, 또 PhysicsHandle->GetGrabbedComponent()도 널인지 아닌지를 확인했었다.

이를 && 연산으로 if 문 하나에 묶어주는 것이 가능해진다.

여기서 추가적으로 수정해준 것이 있는데, 기존 != nullptr를 해준 것을 삭제한 것이다.

이는 if 문에서 불리언 타입으로 포인터를 넣으면 자동으로 널 포인터가 아니라는 것을 체크해주기에 없애주어도 상관없다.

 

마찬가지로 Tick 함수에서도 똑같은 방법으로 수정해줄 수 있다.