【问题标题】:Making a single finger rotation gesture制作单指旋转手势
【发布时间】:2014-10-25 22:33:40
【问题描述】:

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

【问题讨论】:

    标签: ios swift rotation uigesturerecognizer image-rotation


    【解决方案1】:

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

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

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

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

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

    如果您学习了上述 API,您将能够轻松完成任务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-21
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多