我有一个用户通过在方法UIView
中设置其中心来拖动。touchesMoved:
当用户放手时,我希望UIView
根据他们移动它的速度和方向从屏幕上掉下来。
我是否需要通过将UIView
的最后一个中心点与其新的中心点进行比较来以某种方式创建一个向量?NSTimer
并且每隔一段时间用?减去一个固定的量到向量的 y 值
我有一个用户通过在方法UIView
中设置其中心来拖动。touchesMoved:
当用户放手时,我希望UIView
根据他们移动它的速度和方向从屏幕上掉下来。
我是否需要通过将UIView
的最后一个中心点与其新的中心点进行比较来以某种方式创建一个向量?NSTimer
并且每隔一段时间用?减去一个固定的量到向量的 y 值
是的,在计算中你需要相当多的物理知识
您将需要使用该touchesMoved
方法和计时器来跟踪滑动的时间量以及对象新位置的坐标。这应该是相当直截了当的。一旦你找到了那些你可以简单地UIAnimation
为对象添加一个移动到它的新位置。
~一个建议:
我建议您查看Cocos2D
该库并将其与您的应用程序集成。您将不需要自己实现touch delegate
方法和计算事物〜有库:)它有很多库,特别是用于移动对象(或者sprites
如果您希望以这种方式调用它们)并且您有动画方法easeInEaseOut
,等等。可能会影响移动的物体。如果您正在开发某种游戏,请查看chipMunk
Cocos2D 中的引擎。