制作单指旋转手势

时间:2014-10-25 22:33:40

标签: ios swift rotation uigesturerecognizer image-rotation

我正在创建一个游戏,其中用户需要调用单个手指旋转手势,该手势将识别用户围绕中心点的360度全旋转以奖励一个点。我也在寻找一种方法让图像按照玩家手指所处的角度旋转。我个人不熟悉手势,因为我对Xcode很新,所以任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:1)

您可以使用UIPanGestureRecognizer执行此操作。旋转识别器需要两个手指,因此我认为这不是一个可行的解决方案。

在识别器的处理例程中,当识别器的状态为.Began时,您必须开始跟踪起始点。平移识别器具有称为velocity的属性,它是一种方向向量。您可以使用它和/或您可以跟踪的收集点(locationInView)来确定近似中点。

我想这个算法必须有点启发式。例如,如果您知道有问题的点,则可以简单地将向量存储到数组中的点,然后确定到该点的距离是否在特定范围内。如果你有几个可能的点,这也是一个很好的方法,但还不知道它是哪一个。

如果你需要确定一个任意点,那么你必须处理多个假设会变得更加棘手。也许这是关于SOF的单独问题的情况。

让物体转向手指方向的问题很容易。您知道拖动处理程序中每个拖动点的位置,因此您可以更改要旋转的视图的transform属性。您可以根据从要旋转的视图中心测量的手指位置将其设置为CGAffineTransform种旋转。

如果您研究上述API,您将能够轻松完成任务。