首页 > 代码库 > Unity3D FingerGestures 手势插件使用

Unity3D FingerGestures 手势插件使用

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

     

    原价$45

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

    请支持正版

     

    1unity导入FingerGestures包,

     

    2,找到FingerGesturesPrefabs如下图:


     

     

    将此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种不同的方法来检测由用户执行的拖动手势。

    • 方法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 FingerGestures 手势插件使用