gpt4 book ai didi

cocoa-touch - 检测 iPhone 上的特殊触摸

转载 作者:行者123 更新时间:2023-12-03 06:13:54 24 4
gpt4 key购买 nike

我问自己是否有在线示例,其中介绍了如何检测触摸手势中的形状。

例如矩形或圆形(或更复杂的心形..)

或者确定滑动的速度(随着时间的推移(就像我以 50 英里/小时的速度滑动 iPhone))

最佳答案

对于非常简单的手势(水平与垂直滑动),计算两次触摸之间的 x 和 y 差异。

dy = abs(y2 - y1)
dx = abs(x2 - x1)
f = dy/dx

f 接近于零是水平滑动。 f 接近 1 是对角滑动。非常大的 f 是垂直滑动(请记住 dx 可能为零,因此上述不会对所有 x 和 y 产生有效结果)。

如果您对速度感兴趣,毕达哥拉斯可以提供帮助。两次触摸之间的距离长度为:

l = sqrt(dx*dx + dy*dy)

如果触摸发生在时间 t1 和 t2,则速度为:

tdiff = abs(t2 - t1)
s = l/tdiff

由您决定将 s 的哪个值解释为快或慢。

您可以将此方法扩展到更复杂的图形,例如您的方形形状可以是水平/垂直/水平/垂直滑动,其起点/终点是上一次滑动停止的位置。

对于更复杂的图形,最好使用理想化的形状。人们可以将多边形视为理想形状,并检查是否有一系列触摸

  1. 与拓扑轮廓上最近点的距离不要太远,并且
  2. 所有触摸都沿着多边形轮廓遵循相同的方向。

您可以从那里进一步完善事情。

关于cocoa-touch - 检测 iPhone 上的特殊触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/541962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com