首页 > 代码库 > Unity3D FingerGestures 手势插件使用
Unity3D FingerGestures 手势插件使用
- 方法1:使用默认的手势事件
- 每个手指的手势事件:为每个单独的手指,独立的状态
- OnFingerTap
- OnFingerDoubleTap
- OnFingerSwipe
- OnFingerLongPress
- OnFingerDragBegin,OnFingerDragMove,OnFingerDragEnd
- 全局手势事件:
- 当一个手指触摸屏幕上:
- OnTAP
- OnDoubleTap
- OnSwipe
- OnLongPress
- OnDragBegin,OnDragMove,OnDragEnd
- 两个手指触摸屏幕时:
- OnPinchBegin,OnPinchMove,OnPinchEnd
- OnRotationBegin,OnRotationMove,OnRotationEnd
- OnTwoFingerTap
- OnTwoFingerSwipe
- OnTwoFingerLongPress
- OnTwoFingerDragBegin,OnTwoFingerDragMove,OnTwoFingerDragEnd
- 方法2:使用一个DragGestureRecognizer
- 方法3:使用“工具箱”
工具箱是一种更高级方便的方式,设计的理念是开箱就用,包括了很多脚本,但是没有涉及到核心源码,所以不用的话 可以把这个包直接删掉
FingerGestures下载地址(免积分的)点击打开链接FingerGestures v3.1
原价$45
https://www.assetstore.unity3d.com/en/#!/content/1044
请支持正版
1,unity导入FingerGestures包,
2,找到FingerGestures的Prefabs如下图:
将此Prefabs拖入Hierarchy的根节点如下图:
3,选中需要加入手势识别的物体
在菜单中入加识别的脚本,如下图:
本例采用Swipe Recognizer(滑动识别)
4,添加好脚本后在物体上可以看到添加的脚本如下图:
Message Name表示滑动时,组件调用的方法名
Message Target表示调动的发送消息的目标(空的GameObject绑定一个脚本,脚本中含有OnSwipe方法)
public void OnSwipe(SwipeGesture gesture) { //完整的滑动数据 Vector2 move = gesture.Move; //滑动的速度 float velocity = gesture.Velocity; //大概的滑动方向 FingerGestures.SwipeDirection direction = gesture.Direction;
Debug.Log("OnSwipe,move=" + move.ToString() + ",velocity=" + velocity + ",direction=" + direction.ToString()); } |
到此就可以成功滑动了。
其它的手势也基本类似
附上一些用法:
FingerGestures提供了3种不同的方法来检测由用户执行的拖动手势。
Unity3D FingerGestures 手势插件使用