做一个单指旋转手势



我正在创建一个游戏,用户需要调用一个单手指旋转手势,该手势可以识别用户围绕中心点的360度旋转,从而获得分数。我也在寻找一种方法,让图像按照玩家手指所在的角度旋转。我个人并不熟悉手势,因为我对Xcode还很陌生,所以如果有任何帮助,我将不胜感激。

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

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

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

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

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

如果你学习了上面提到的API,你将能够轻松地完成你的任务。

最新更新