我正在创建一个游戏,其中用户需要调用单个手指旋转手势,该手势将识别用户围绕中心点的360度全旋转以奖励一个点。我也在寻找一种方法让图像按照玩家手指所处的角度旋转。我个人不熟悉手势,因为我对Xcode很新,所以任何帮助都会非常感激。
答案 0 :(得分:1)
您可以使用UIPanGestureRecognizer
执行此操作。旋转识别器需要两个手指,因此我认为这不是一个可行的解决方案。
在识别器的处理例程中,当识别器的状态为.Began
时,您必须开始跟踪起始点。平移识别器具有称为velocity
的属性,它是一种方向向量。您可以使用它和/或您可以跟踪的收集点(locationInView
)来确定近似中点。
我想这个算法必须有点启发式。例如,如果您知道有问题的点,则可以简单地将向量存储到数组中的点,然后确定到该点的距离是否在特定范围内。如果你有几个可能的点,这也是一个很好的方法,但还不知道它是哪一个。
如果你需要确定一个任意点,那么你必须处理多个假设会变得更加棘手。也许这是关于SOF的单独问题的情况。
让物体转向手指方向的问题很容易。您知道拖动处理程序中每个拖动点的位置,因此您可以更改要旋转的视图的transform
属性。您可以根据从要旋转的视图中心测量的手指位置将其设置为CGAffineTransform
种旋转。
如果您研究上述API,您将能够轻松完成任务。