PtInRect와 같은 함수가 없을까요?
글쓴이: mydream / 작성시간: 금, 2016/02/26 - 1:29오후
Visual Studio 2008 C++로 FillRect로 만든 사각형을 움직여서 먹이를 먹는 프로그램을 만들고 있습니다. 먹이는 점의 좌표이고 SetPixel로 점을 찍었고요. 그리고 사각형(이하 '팩맨'이라 하겠습니다.)이 먹이를 집어삼키면 먹이가 없어지도록 했고요. 이를 감지하기 위해
if(PtlnRect(팩맨, 먹이)) {
//먹이를 먹었을 때의 처리를 해준다.
}
라고 해서 팩맨이 먹이를 삼켰다는 것을 인식하도록 했고요.
그런데 먹이를 점이 아닌 다각형 Polygon으로 표현하고 싶은데, 이럴 경우에는 팩맨이 먹이를 삼켰다는 것을 어떻게 인식하게 할 수 있을까요?
if(anyfunc(팩맨, 다각형먹이)) {
//먹이를 먹었을 때의 처리를 해준다.
}
이 때 anyfunc 함수로 API에서 제공하는 함수가 무엇인지 알려주시면 감사하겠습니다.
Forums:
API로는...영역을 만들고나서, 점 또는 영역이
API로는...
영역을 만들고나서, 점 또는 영역이 영역 내부인지 확인하는 함수가 있을겁니다.
게임에 적용하기에 적합한지, 얼마나 빠른지는 모르겠습니다.
점에 대해서는 PtInRegion 함수가 있네요.
아이디어로는...
다각형에 가상의 점을 적당히 추가하여서
이 점을 기준으로 확인하면 기존 함수를 그대로 사용할 수 있겠네요.
이런걸 출동테스트(Hit Test) 라고 하는것 같던데, 한번 찾아보세요.
여기한번 읽어보세요.
http://www.codeproject.com/Articles/1944/Guide-to-WIN-Regions
댓글 달기