2012-04-07 5 views
1

메서드에서 사용자가 중심 설정을 통해 드래그하는 UIView이 있습니다. 사용자가 이동 시키면 얼마나 빨리 움직이고 어떤 방향으로 움직이는 지에 따라 UIView을 화면 밖으로 내리고 싶습니다.iOS : UIView의 간단한 피직스

UIView의 마지막 중심점을 다음과 비교하여 벡터를 생성해야합니까? 새로운 중심점인가? 그리고 NSTimer을 사용하여 고정 된 양을 벡터의 y 값으로 가끔씩 뺍니다.

+0

당신이 여분의 마일을 가길 원한다면 [물리학을 UIKit에 통합]에 관한 훌륭한 글이있다. (http://www.cocoanetics.com/2010/05/physics-101-uikit-app-with- 상자 2d - 중력 /). Cocos2D에 대한 @ 레골라스의 제안은 더 완벽한 해결책이라고 말하고 있습니다. – Alladinian

+0

UIPanGesture를 사용하는 경우보기에서 속도를 얻을 수 있으며 그 속도는 무언가가 드래그되는 속도를 제공합니다. 뿐만 아니라 어디에 끌고의 위치뿐만 아니라. –

답변

1

예, 당신은 강타의

  1. 속도를 계산 물리학의 상당한 금액을해야합니다
  2. 강타의
  3. 방향

당신은 타이머와 함께 touchesMoved 방법을 사용해야합니다 스 와이프 시간 및 개체의 새 위치에 대한 좌표를 추적합니다. 이것은 꽤 솔직해야합니다. 개체를 찾으면 개체를 새 위치로 이동하기 위해 UIAnimation을 간단히 추가 할 수 있습니다.

~ 제안 :

당신이 Cocos2D에서 모양과 애플 리케이션 당신과 함께 라이브러리를 통합 할 것을 제안했다. touch delegate 메쏘드를 구현할 필요가 없습니다 ~ 라이브러리가 있습니다 :) 움직이는 객체를위한 라이브러리가 많이 있습니다 (또는 그 방법으로 호출하고자한다면 sprites) 그리고 애니메이션 메서드는 easeInEaseOut과 같습니다. 이동하는 물체에 영향을 줄 수있는 등등. 어떤 종류의 게임을 개발하고 있다면, Cocos2D에서도 chipMunk 엔진을 살펴보십시오.

관련 문제