我问自己是否有在线示例,其中包括如何在触摸手势中检测形状.
例如一个矩形或一个圆形(或更复杂的一颗心......)
或者确定滑动的速度(随着时间的推移(就像我将我的iphone刷到50英里每小时))
对于非常简单的手势(水平与垂直滑动),计算两次触摸之间的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值.
您可以将此方法扩展为更复杂的数字,例如,您的方形可以是水平/垂直/水平/垂直滑动,其中开始/结束点在前一次滑动停止的位置.
对于更复杂的数字,使用理想化的形状可能更好.可以将多边形形状视为理想形状,并检查是否有一系列触摸
距离pologyon轮廓上最近点的距离不是太远
所有触摸都沿着多边形的轮廓沿着相同的方向.
你可以从那里进一步改进.