-
win32 게임 만들기(10-1) - Collider카테고리 없음 2022. 5. 22. 12:57
게임을 하다 보면 물체끼리의 충돌은 필수 조건 이다.
예를 들어 플레이어와 몬스터가 충돌 하면 데미지를 입히거나 포탈에 충돌하면 맵을 이동 한다던지...
물체와 물체끼리의 충돌을 구현 하고 싶다.
충돌에서의 필요한 이벤트 정의
1. Enter 충돌이 발생 했을때 (진입 했을 때)
2. 충돌이 유지 될때 (충돌 중일 때)
3.. Exit 충돌이 벗어난 시점
object를 상속 받은 오브젝트들은 콜라이더 기능이 필요한 오브젝트도 있고 콜라이더 기능이 필요하지 않은 오브젝트들도 있다.
<컴포넌트 기반 구조>
부품을 탈부착 하듯 콜라이더 기능이 필요한 오브젝트들은 활성화를 시켜주고 그렇지 않으면 비활성화 시키도록 설계
object 클래스에 CCollider를 포인터 형태로 주어 필요시 createcollider()함수를 통해 활성화 시키도록 설계
소멸처리 과정에서 만약 할당된 collider가 있다면 해제 과정 진행!
Collider 객체를 새로 생성 콜라이더는 콜라이더의 기능을 사용하는 오브젝트의 위치를 따라 다녀야 한다.
finalupdate() : 오브젝트들이 매프레임 마다 변경이 완료 된 시점에 마지막업데이트로 콜라이더가 해당 오브젝트 위치로 위치 할수 있도록 update를 진행
각 오브젝트들의 render 과정에서 component_render()를 통해 콜라이더의 기능이 있는 오브젝트라면 콜라이더의 위치까지 렌더를 시킴