SetActorLocation

강성원·2023년 11월 15일
0

공격 중 입력 제한

  • 캐릭터 이동 구현하기 전에 공격 중에 wasd 입력하면 다른 방향의 스프라이트가 재생되는 현상부터 고쳐본다.
    공격 중에는 다른 입력을 받아들이지 않으면 해결된다.
    사진처럼 switch 노드를 사용해서 현재의 상태가 [Skill]이 아닌 경우에만 입력으로 상태와 방향이 정해지도록 한다.
  • [Skill] 상태에서 스페이스바를 연타했을 때의 문제는 캐릭터의 상태가 [Idle],[Move]인 경우에만 노드가 진행되도록 하면 된다.
    이렇게 해주면 스페이스바를 연타한다고 스프라이트 재생이 꼬이는 현상이 발생하지 않을 것이다.

SetActorLocation

[SetActorLocation] 노드를 사용해서 캐릭터를 움직인다.

  • 새로운 업데이트 함수에서 캐릭터의 상태가 [Move]인 경우에 방향을 따져서 캐릭터의 X, Y 값에 차감을 준다.
  • [New Location]에는 3차원 벡터 값이 인자로 들어간다.
    winapi를 공부했을 때와 똑같이 (델타타임)x(원하는이동량)의 값을 벡터의 원하는 축에 넣어주고 현재 위치에 그 벡터를 더한다. 그리고 마지막에 나온 결과 벡터를 위치로 세팅해준다.
    사진의 결과 값을 [SetActorLocation]의 인자로 전달해주었다. 왼쪽 방향은 x의 -방향이라서 -1 곱해주었다.
profile
개발은삼순이발

0개의 댓글