2012-10-01 2 views
4

이미지가 있습니다. 나는 그 이미지를 길을 따라 끌고 싶다. 경로는 원형 또는 직사각형 형태 일 수 있습니다. 이미지를 터치하고 드래그하면 경로를 따라 이동해야하며 경로를 벗어나면 안됩니다. Core Graphics 및 Core 애니메이션을 사용해 보았지만 올바른 방법을 찾지 못했습니다. 그물을 검색했지만 항상 경로를 따라 객체를 이동하는 방법을 보여줍니다. 경로를 따라 객체를 끌 때 아무 것도 찾을 수 없습니다. 또한 나는 UIBezierPath에서 포인트를 추출하기 위해 Apple에서 제공 한 NO 메소드가 없음을 발견했습니다.아이폰의 경로를 따라 드래그

어쨌든이 작업을 수행하고 있습니까?

+0

왜이 질문에 Android 태그가 붙어 있습니까? Core-Grapics 나 Core-Animation은 Android에서 사용할 수 없습니다. 서로 다른 API로 인해 두 플랫폼에 모두 맞는 단일 대답을 얻을 수 없을 것입니다. –

+0

죄송합니다. 나는 그것을 편집했다. 그냥 너무 궁금해. –

+0

사용자가 동일한 경로를 따라 드래그하거나 화면에서 드래그합니까? –

답변

0

UIBezierPath 클래스에는 - (BOOL)containsPoint:이라는 인스턴스 메서드가 있습니다. 이 방법과 2 UIBezierPath s를 사용하면 개체가 경로를 따라 이동하는지 확인할 수 있습니다.

+---------+ 
|xxxxxxxxx| 
|x+-----+x| 
|x|  |x| 
|x|  |x| 
|x|  |x| 
|x+-----+x| 
|xxxxxxxxx| 
+---------+ 

여기 트릭 두 경로들은 공통 중심을 보장하면서, (아마도 2 화소) 제보다 약간 작은 1 개 경로를 만드는 것이다. 개체가 현재 이동해야하는 경로/경로는 - (BOOL)containsPoint:을 호출하여 얻은 베 지어 경로 영역의 차이입니다.

개체에 큰 UIBezierPath이 포함되어 있지만 작은 개체에는 포함되어 있지 않으면 올바른 경로에 있음을 알 수 있습니다.

+0

몇 가지 코드를 추가 할 수 있습니까? –

관련 문제