Unity3D脚本:快速判断手势是上下左右
unity3D更多资源教程免费下载,群193521697 邀请码:10026.(有问题找管理员)
在移动平台中开发,滑动手势的拾取和判断很常见。在这使用最简单的首尾两点的连线来判断手指滑动的方向:这里记为slideVelocity。当一个方向为东北或者西北上面时,记为“向上滑”。
01 |
Vector2 slideDirection = endPos - startPos; |
02 |
|
03 |
float x = slideDirection.x, y = slideDirection.y; |
04 |
|
05 |
if(y < x && y > -x) // 向右滑 |
06 |
|
07 |
{ |
08 |
|
09 |
type = GestureType.RIGHT; |
10 |
|
11 |
} |
12 |
|
13 |
else if(y > x && y < -x) // left { type = GestureType.LEFT; } else if(y > x && y > -x) // up |
14 |
|
15 |
{ |
16 |
|
17 |
type = GestureType.UP; |
18 |
|
19 |
} |
20 |
|
21 |
else // down |
22 |
|
23 |
{ |
24 |
|
25 |
type = GestureType.DOWN; |
26 |
|
27 |
} |
原理即为数学里面的线性规划,y = x 和 y = -x把坐标轴划分为一个米字型,然后对对应区域进行识别。