현재 우리는 앞으로만 이동하는 플랫폼을 구현함.
그리고 이제 너무 많이 이동하면 다시 뒤로 돌아오게 하려고 함.
이를 위해 이동한 거리를 알아야 함. 어떻게 구현할까?
플랫폼의 시작 위치를 알기 위해 헤더파일에서 클래스 멤버변수 StartLocation 벡터 생성.
이 변수는 C++에서만 사용되고, 에디터에서는 알 필요가 없으므로 UPROPERTY 필요 없음.
그리고 게임플레이 시 처음 액터의 위치를 StartLocation에 할당.
다음으로 계속 이동하는 현재 위치 벡터와 시작 위치 벡터 사이의 거리를 구해야 함
이를 위한 벡터 사이의 거리를 구하는 벡터 클래스의 static 멤버 함수 Dist 사용
FVector::Dist() , FVector::Distance() 둘다 동일함. 편한걸로 사용.
벡터 클래스의 static 함수 Dist 는 인스턴스 생성없이 호출할 수 있음.
그러나 범위 지정 연산자인 :: 을 사용해야 함.
먼저 헤더파일에 현재 위치와 시작 위치의 거리를 보여주기 위한 멤버변수인 Distance를 정의하고 Tick 함수에서 FVector::Dist 함수를 사용해 거리를 할당함.
이때 Distance 변수는 에디터에서 수정될 필요가 없으므로, 수정은 안되지만 에디터에서 볼 수 있도록 VisibleAnywhere 를 사용.
플레이시 에디터에서 Distance가 계속 증가하는 것을 확인할 수 있음.