2012-04-07 3 views
1

У меня есть UIView, который пользователь тащит с помощью установки своего центра в методе touchesMoved:. Когда пользователь отпускает, я хочу UIView упасть с экрана в соответствии с тем, как быстро и в каком направлении они двигались его.iOS: Простая физика для UIView

мне нужно каким-то образом создать вектор, сравнивая последнюю центральную точку UIView «s делать это новый центр? И вычитайте фиксированную сумму в значение y вектора так часто с NSTimer?

+0

Если вы хотите пройти лишнюю милю, есть отличная статья о [интеграции физики в UIKit] (http://www.cocoanetics.com/2010/05/physics-101-uikit-app-with- box2d-за тяжести /). Тем не менее, предложение @Legolas Cocos2D является более полным решением. – Alladinian

+0

Если вы используете UIPanGesture, вы можете получить скорость в поле зрения, и это даст вам скорость, с которой что-то тянется. Также как и место, куда оно было перетащено. –

ответ

1

Да, вам нужен приличное количество физики при расчете

  1. Скорости взмаха
  2. Направления взмаха

Вам нужно будет использовать метод touchesMoved вместе с таймером для отслеживания количества времени для салфетки, а также для координат для нового местоположения объекта. Это должно быть довольно прямолинейно. Когда вы закончите поиск, вы можете просто добавить UIAnimation, чтобы объект переместился на новое место.

~ Предложение:

Я хотел бы предложить вам взглянуть на Cocos2D и интегрировать библиотеку с вами приложение. Вам не нужно будет реализовывать методы touch delegate и сами вычислять вещи. Для этого есть библиотеки. У него много библиотек, особенно для движущихся объектов (или sprites, если вы хотите их называть), и у вас есть способ анимации, такой как easeInEaseOut, и т. д., которые могут быть затронуты движущимся объектом. Если вы разрабатываете какую-либо игру, посмотрите на двигатель chipMunk в Cocos2D.

 Смежные вопросы

  • Нет связанных вопросов^_^