범위 지정 연산자
현재 작성했던 의사코드 중에서 앞으로 이동하는 부분만 구현한 상태이다.
이제 뒤로 가는 것을 구현하게 된다.
우선 뒤로 가기 위해서 얼마나 이동했는 지 알 필요가 있으며, 이를 위해 필요한 것은 다음과 같다.
플랫폼 시작 위치
플랫폼이 이동한 거리
우선 시작 위치는 언리얼 상에서 굳이 알 필요가 없다.
따라서 UPROPERTY를 작성하지 않고 선언만 해주었다.
그리고 플랫폼이 이동한 거리는 언리얼 상에서 편집할 필요가 없다.
따라서 UPROPERTY(VisibleAnywhere)로 설정함으로써 보이게만 설정해준다.
그리고 해당 거리는 업데이트 된 것을 체크하기 위해 기본 값을 -1로 초기화해주었다.
그럼 이제 시작 위치를 얻을 차례이다.
시작 위치는 당연하게도 맨 처음 플레이를 했을 때 있던 위치이다.
따라서 BeginPlay에서 GetActorLocation()을 통해 위치를 얻어준다.
다음으로는 이동한 거리이다.
여기서 범위지정연산자라는 것을 배우게 된다.
사실 이는 이미 본적이 있다.
해당 연산자는 ::으로 표기하며, 당장 위에서 AMovingPlatform2::BeginPlay()에서 사용되었다.
이는 BeginPlay가 AMovingPlatform2에 속한다는 것을 의미한다.
하지만 BeiginPlay가 해당 클래스의 특정 인스턴스에 속하지는 않는다.
이를 이용하여 우리는 FVector에 속하면서 해당 클래스의 특정 인스턴스에서 실행되지 않는 함수를 가져올 수 있다.
우리는 FVector에 있는 Dist 함수를 가져와, FVector의 특정 인스턴스인 StartLocation과 CurrentLocation의 거리 차이를 구하는데 사용하게 된다.
이제 컴파일하고 언리얼로 돌아가서 실행해보면, DistanceMoved 값이 점점 증가하는 것을 볼 수 있다.
'Unreal > Udemy 강의' 카테고리의 다른 글
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 3-18 (0) | 2024.03.10 |
---|---|
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 3-17 (0) | 2024.03.09 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 3-15 (0) | 2024.03.08 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 3-14 (0) | 2024.03.07 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 3-13 (0) | 2024.03.07 |