답변:
물론, 내 게임 스타 캐치 (Star Catch)에 대해 알아 내야했습니다. 더 나은 방법이있을 수 있지만 이것이 내가 한 방법입니다. 실제로 알고리즘을 온라인에서 발견했습니다 (죄송합니다 소스를 기억할 수 없습니다) 다각형 내부의 점을 검색하려고 검색했습니다.
요점을 지키기 위해 NSMutableArray를 만들었습니다. 터치 이벤트에 포인트를 추가합니다.
- (BOOL) testNodeInLoop:(CCNode *)node {
CGPoint prev;
// This is more accurate point for the node
CGPoint absPoint = [node convertToWorldSpace:CGPointZero];
float x = absPoint.x;
float y = absPoint.y;
BOOL isIn = NO;
CGPoint cp;
for(int i = 0, j = [points count] - 1; i < [points count]; j = i++) {
[[points objectAtIndex:i] getValue:&cp];
[[points objectAtIndex:j] getValue:&prev];
if( ((cp.y > y) != (prev.y > y)) && (x < (prev.x -cp.x) * (y - cp.y) / (prev.y - cp.y) + cp.x)) {
isIn = !isIn;
}
}
return isIn;
}
도움이되는지 알려주세요.
"실시간 충돌 감지"책에는 라인 / 세그먼트 충돌 감지에 대한 섹션이 있습니다. Google 도서를 통한 예 : http://ow.ly/2gjQf