2012-04-07 51 views
1

簡單的物理我有一個用戶通過在touchesMoved:方法中設置其中心拖動周圍UIView。當使用者放開,我想UIView根據他們是如何快速,什麼方向移動它脫落的畫面。的iOS:對於一個UIView

我需要通過UIView的最後中心點比較以某種方式創建矢量這是新的中心點?並且每隔一段時間用NSTimer減去一個固定數量到矢量的y值?

+0

如果你願意多走一英里有大約[整合物理到的UIKit]一個很好的職位(http://www.cocoanetics.com/2010/05/physics-101-uikit-app-with- Box2D的換重力/)。話雖如此,@Legolas對Cocos2D的建議是一個更完整的解決方案。 – Alladinian 2012-04-07 20:34:41

+0

如果您使用UIPanGesture,您可以在視圖中獲得速度,並且會爲您提供正在拖動某物的速度。以及它被拖動的位置。 – 2012-04-09 00:55:38

回答

1

是的,你將需要物理學體面的數額,在計算

  1. 速度輕掃
  2. 方向輕掃

您將需要使用touchesMoved方法與定時器一起跟蹤滑動的時間量以及對象新位置的座標。這應該是相當直接的。一旦你找到了那些你可以簡單地添加一個UIAnimation對象移動到新的地方。

一個建議:

我建議你看看Cocos2D和庫與您的應用程序集成。你不會需要實現touch delegate方法和自己計算的東西〜有該圖書館:)它有很多的庫尤其是對移動的物體(或sprites如果你想打電話給他們這樣),你有一個像easeInEaseOut動畫方法,這可能會影響運動物體。如果您正在開發某種遊戲,請在Cocos2D中查看chipMunk引擎。