Unity3D FingerGestures 手势插件使用

FingerGestures 下载地址(免积分的)点击打开链接FingerGestures v3.1

 

原价$45

https://www.assetstore.unity3d.com/en/#!/content/1044

请支持正版

 

1unity导入FingerGestures 包,

 

2,找到FingerGesturesPrefabs如下图:

Unity3D FingerGestures 手势插件使用_第1张图片

 

 

将此Prefabs拖入Hierarchy的根节点如下图:

Unity3D FingerGestures 手势插件使用_第2张图片

 

 

 

3,选中需要加入手势识别的物体

在菜单中入加识别的脚本,如下图:

Unity3D FingerGestures 手势插件使用_第3张图片

本例采用Swipe Recognizer(滑动识别)

 

4,添加好脚本后在物体上可以看到添加的脚本如下图:

Unity3D FingerGestures 手势插件使用_第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种不同的方法来检测由用户执行的拖动手势。

  • 方法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:使用“工具箱”
    工具箱是一种更高级方便的方式,设计的理念是开箱就用,包括了很多脚本,但是没有涉及到核心源码,所以不用的话  可以把这个包直接删掉

 

 

 

 

你可能感兴趣的:(Unity3D)