5
스프라이트 키트로 그리기하고 있습니다. 나는 사용자의 그림이 교차 할 때를 감지하고 싶다.
Swift : 스프라이트 키트 SKShapeNode 도면에서 교차 부분을 감지합니다.
나는 다음 코드를 시도했지만 작동하지 않습니다. 스프라이트 키트가 모든 포인트를 저장하지 못하는 것 같습니다.
override func touchesMoved(touches: NSSet, withEvent event: UIEvent) {
/* Called when a touch begins */
touch = touches.anyObject() as UITouch!
for drawingPoint in drawingPoints{
if(touch.locationInNode(self) == drawingPoint){println(true)}
}
drawingPoints.append(touch.locationInNode(self))
}
저는 SpriteKit에 익숙하지 않지만, 빨간 선은 선분 또는 베 지어 곡선을 사용하여 각 터치 점을 다음 점과 연결한다고 가정합니다. 이 경우 모든 세그먼트에서 가능한 교차로를 확인해야합니다. [Here] (http://stackoverflow.com/questions/13999249/uibezierpath-intersect)는 Objective-C와 비슷한 문제로, 시작하는 데 도움이 될 것입니다. –
감사합니다. – user3673836
보다 정교한 알고리즘은 http://softsurfer.com/Archive/algorithm_0108/algorithm_0108.htm에 설명되어 있습니다. –