在touchesMoved方法中,屏幕上的对象沿拖动触摸向量移动的算法是什么?例如,如果我在我的对象下面触摸(Y> object.y),然后向上拖动,我希望对象沿着我手指移动的相同向量从其当前的x,y位置移动。
目前我的工作是拖动动作将我的物体扣到我手指的位置,但有时我的手指会碰到屏幕的边缘,然后才能正确定位物体。
如果我知道我的“触地位置”和“当前触摸位置”,确定移动位置object.position
的数学是什么?
答案 0 :(得分:1)
我会调查UIPanGestureRecognizer。当我想要完成你所描述的内容时,我会使用它。
这是我以前学习的内容,但后来以其他形式进一步了解: http://www.cocoanetics.com/2010/11/draggable-buttons-labels/
祝你好运!答案 1 :(得分:1)
我希望你已经收到了自己想出的答案,但是。
假设您的对象的左上角(ULC)位于Object.X
,ObjectY
。
假设CGPoint
返回的touchsBegan
为Touch.X
,Touch.Y
。
偏移量(Delta)将为:
Delta.X = Touch.X - Object.X
Delta.Y = Touch.Y - Object.X
从touchesMoved
返回的每个点中减去这些,你的ULC应该按照你的预期移动,而不是贴在你的手指上。