TIL

25.12.28일자 5번 과제 마무리 - TIL

csh8696nb 2025. 12. 29. 04:34

힌트에 포함되어있던 FString::printf(), ActorLocation.ToString() 에는 포인터를 사용해야 해서 *Actor.....()로 바꿔야 컴파일 오류가 발생하지 않는다.

비주얼 스튜디오에서는 이곳에 오류가 있음을 인지 하지 못하고 이것을 사용하는 구문으로 이동한 후 오류가 나서 찾기가 쉽지 않았다.

(보여주는 위치는 UnrealString.h.inl 로 잡히며 이후 printf에 문제가 있다는 구문으로 연계됨)[정작 사용하지 않게됨]

주석 처리된 마지막 메세지 출력구문이 문제를 일으켰던 부분. 사진에선 *를 제대로 달아뒀다.

 

헤더에서 사용할 멤버 변수들을 선언트에 포함되어있던 FString::printf(), ActorLocation.ToString() 에는 포인터를 사용해야 해서 *Actor.....()로 바꿔야 컴파일 오류가 발생하지 않는다.

 

비주얼 스튜디오에서는 이곳에 오류가 있음을 인지 하지 못하고 이것을 사용하는 구문으로 이동한 후 오류가 나서 찾기가 쉽지 않았다.

 

(보여주는 위치는 UnrealString.h.inl 로 잡히며 이후 printf에 문제가 있다는 구문으로 연계됨)[정작 사용하지 않게됨]

 

 

 

헤더에서 사용할 멤버 변수들을 초기화, 속도와 행동횟수를 지정해둔다.

엑터의 틱을 기준으로 행동횟수가 10회가 안됬다면 이동과 회전을 시킨다.

행동이 완료되면 AOSDM(AddOnScreenDebugMessage)을 이용해 엑터의 위치를 출력한다.

행동을 완료했다면 이것을 카운팅해준다.(마찬가지로 횟수도 AOSDM으로 출력)

VRand()함수를 이용해서 무작위 방향의 벡터로 이동하게 설정할 수 있다.

다만 0~1의 무작위 값을 뱉어내기 때문에 normalize() 를 이용해 보정을 해주는 것이 필수다.

 

이동-좌표변경을 출력 하게 만들면 틱마다 좌표가 출력되버리는 문제가 발생한다.
이 때문에 행동을 완료했을 때 좌표를 출력하는 과정을 추가로 넣어야 한다.

(블루 프린트에서 시작좌표 이동 좌표를 불러와 왕복 움직임을 구현한 것과 유사)

 

이동/회전을 동시에 확인하지만 둘 다 무작위 값만큼 움직이면 둘 중 하나가 먼저 완료되었을 때 다음 움직임을 하지 않는 오류도 발생한다.

(엑터는 굳어버리지만 좌표는 변경되는 기행을 한다)

 

Abs - Absolute value - 절 댓 값(위로만 이동하게 강제하는 역할의 함수)

'TIL' 카테고리의 다른 글

25.12.30일자 - TIL  (0) 2025.12.30
25.12.29일자 - TIL  (0) 2025.12.29
25.12.26일자 - TIL  (0) 2025.12.26
25.12.24일자 - TIL  (0) 2025.12.24
25.12.23일자 - TIL  (0) 2025.12.23