Player Animation구현

CJB_ny·2022년 10월 20일
0

JumpKing

목록 보기
4/8
post-thumbnail

전체 코드는 제 깃허브에 있습니다.

https://github.com/starkshn/JumpKing


FALL 애니매이션 구현

현재 OFF, FALLEN제외하고 다 구현을 하였다.

기본 이동, 스퀏, 점프까지는 나름 간단하지만

썸내일 애니매이션 처럼 떨어질 조건이

공중에서 잠시 머무르다가 방향이 바뀔 때

FALL애니매이션으로 전환을 해야하는데

UpdateState에서

현재 상태가 JUMP일 경우에만으로 다 걸러낸다음에

벡터의 크기가 작을 때 == 점프하고 중력때문에 잠시 붕뜬거같은 느낌이 들 때

그때 그냥 '방향 정보'는 확인을 하지않고

state를 변경했다. 어차피 떨어질 것이기 때문에

충돌 구현 ❗❗

이부분은 위아래 충돌 판정하는 부분인데 이부분은 어느정도 쉽게 넘어갔다.

문제는

왼쪽면과 오른쪽면을 어떻게 처리를 할지였는데 이부분에서 시간엄청 씀.

하루종일 했다...

충돌했을 때의 현재 좌표와

충돌체와 플레이어간의 크기값, 위치의 절대값을 통해 위에서 아래로 또는 아래에서 위로 옆면을 부딪히는 상황을 한번에 처리를 하였습니다.

정리

아래에서 점프해서 왼쪽면으로 부딪힐 경우, 위에서 아래로 내려오면서 왼쪽면에 부딪힐 경우 (오른쪽 면도 동일하게)

이렇게 4가지로 구분하는 것이 아니라

현재 충돌체의 ( scale / 2 ) + ( playerScale / 2) 한 것보다 현재 (playerPos.y / 2) + (pos._y / 2) 가 더 작고

x축으로의 범위 안에 들어오면은 옆면에 충돌한 것이라고 판정을 할 수가 있다는 것이다.


pos._x - (scale._x / 2.f) >= (playerPX - 1)

이부분이 옆면에 부딪혔을 경우의 x 범위입니다.

해야할 부분

현재는 임시적으로 x축 방향으로 튕겨져 나가기만을 했는데

이게 아니라 힘을 주어야할거같다. 실제 점프킹이 이런식으로 구현이 되어있다.

그래야 막 튕겨저 나가는 부분을 구현이 가능할 거 같다.

profile
https://cjbworld.tistory.com/ <- 이사중

0개의 댓글