픽셀 충돌(포트리스 제작)


* 픽셀 충돌
- 기존의 게임 충돌은 형태가 정해진 사각형, 타원 으로 충돌 처리를 하고 있었다
- 하지만 실제 현실 지형은 형태가 정해지지않은 다각형이므로, 이런 다각형을 충돌하기위해 픽셀단위로 충돌 처리를 하는 로직을 구현 한다.(미분의 개념과 같구만요...)
- 픽셀 단위 충돌을 위해, 충돌하는 픽셀의 색 값을 받아와 해당 색이 무엇이냐에 따라 충돌 처리를 할지 판단
- GetPixel(HDC hdc, int x, int y) :DC로 부터 x, y 좌표의 픽셀을 얻어오는 함수
- GetRValue(rgb) : GetPixel로 얻은 rgb값 중 R 값 리턴
- GetGValue(rgb) : G값 리턴
- GetBValue(rgb) : B값 리턴
- 포탄이 배경에 충돌하면, 포탄의 픽셀 충돌 부위를 중심으로 배경의 메모리DC 값에 체크를 제외 하고자 하는 값(마젠타)를 입혀 충돌 지면이 삭제되도록 처리 하였다.
- 포탄과 캐릭터에 카메라를 붙여 충돌 처리에 필요한 메모리 DC 배경값을 같이 이동 하도록 처리














댓글