[게임 프로그래머 입문 올인원] Windows API 입문 : (86강)
A. 2D 포폴 준비
4. 충돌 처리
a. 충돌 감지하기
저번에 충동을 처리한 부분은 '감지'를 했다고 보는게 맞음
💥 오류 수정
위에서 SetTileMap을 주석처리 했더니 값 설정을 안해줘서 다른값이 들어가서 그럼!
b. 충돌 박스 정보 가져오기
충돌처리하는 부분은 두가지 방법이 있음
1. 갈수있는지 판단 후 처리
2. 일단 충돌 후 반대방향으로 밀어주기
먼저 박스 콜라이더를 활용해서 만들 예정
c. 충돌 처리 코드 맞춰주기
여기서 기본 Collider에 적혀져 있는 충돌 코드를 보면
이게 GetRect와 살짝 다를 수 있고, 여기서 오는 버그가 생길 수 있기 때문에
위에서 생성한 GetRect 함수를 이용해서 오차를 줄여주는 방식으로 새로 작성한다
나머지 코드들도 구글링해서 이런 방식으로 수정하면 됨
d. 충돌처리 코드 작성
두 번째로 생각했던 뒤로 밀쳐서 튕겨내는 코드 작성
사실 이런 코드는 따로 충돌처리 (물리) 코드로 뽑아야 하지만
여기선 연습이기 때문에 플레이어 코드 안에 작성
어느 방향으로 충돌되었는지는 x, y좌표를 계산해보면 나옴
💥 이때 부들부들 거리는 현상이 생길 수 있는데
Tick이라는 함수가 모든걸 업데이트 중인데, 순간적으로 카메라 위치가 바뀌면서
플레이어와 카메라 위치가 달라 부들거리는 현상이 생길 수 있음
👉 따라서 Tick 종류도 다양하게 생겨나는것!
'프로젝트 > [인프런] 게임 프로그래머 입문 올인원' 카테고리의 다른 글
[게임 프로그래머 입문 올인원] 2D 포폴 준비 : State 패턴(113강) (0) | 2024.09.09 |
---|---|
[게임 프로그래머 입문 올인원] 2D 포폴 준비 : 충돌 레이어(112강) (2) | 2024.09.09 |
[게임 프로그래머 입문 올인원] 2D 포폴 준비 : 사운드 (110강) (1) | 2024.09.07 |
[게임 프로그래머 입문 올인원] 2D 포폴 준비 : 파일 입출력(109강) (1) | 2024.09.05 |
[게임 프로그래머 입문 올인원] 2D 포폴 준비 : 타일맵 (108강) (7) | 2024.09.05 |