Unity3d FingerGestures 使用 例子

1.插件百度网盘地址:链接:https://pan.baidu.com/s/14PRkpAf3OLXjz81QT0hPPA 密码:k8iz] 
2.本次实验采用的是Unity5.4.5的版本。插件版本为3.1 
3.小例子分析

A:手指点击事件,划过事件,离开事件,鼠标点击保持不动事件。 
A3.1.找到如图1所示预制体位置将其拖入场景,该预制体上面包含的脚本FingerGestures.cs包含了一些基本的初始化 
 
A3.2在空场景中创建一个空物体,命名为Finger,点击Finger物体之后,点击工具栏component>>FingerGesture>>FingerEvent>>向物体Finger添加方法,我们首先添加的为FingerDown,点击按下事件。如图2所示 
 
A3.3添加之后如下图2所示 

新建一个脚本FingerTest,并创建一个方法,方法名要与FingerDownDetector.cs脚本中红色方框勾选的MessageName一致,方法名与写如下脚本 


运行场景,Pc端点击鼠标可看到,Down时刻打印输出,方法被事件调用 


B.双击事件,单击事件,拖拽事件,长按事件等 
B3.1新建一个空场景,拖入FingerGesture预制体,新建一个空物体,在工具栏Component>>FingerGesture>>给其添事件监听脚本,如图所示添加拖拽事件等 

值得注意的是,双击事件,需要添加TapRec,需要修改tap次数,和事件广播方法,如下图所示 


,在Finger空物体上添加一个脚本如下所示,

public class FingerEvent : MonoBehaviour {

    public static FingerEvent Instance;
    private void Awake()
    {
        Instance = this;
    }
    /// <summary>
    /// 点击事件
    /// </summary>
    /// <param name="gesture"></param>
    void OnTap(TapGesture gesture)
    {
        Debug.Log("点击-----");
    }
    void OnSwipe(SwipeGesture gesture)
    {
        Debug.Log("滑动事件--");
    }
    /// <summary>
    /// 双击事件
    /// </summary>
    /// <param name="gesture"></param>
    void OnDoubleTap(TapGesture gesture)
    {
        Debug.Log("双击事件--");
    }
    void OnLongPress(LongPressGesture gesture)
    {
        Debug.Log("长按事件--");
    }
    /// <summary>
    /// 拖拽事件方法
    /// </summary>
    /// <param name="gesture"></param>
    void OnDrag(DragGesture gesture)
    {
       if(gesture .Phase ==ContinuousGesturePhase.Started )
        {
            Debug.Log("拖拽开始");
        }
        else if(gesture .Phase ==ContinuousGesturePhase.Ended)
        {
            Debug.Log("拖拽结束");
        }
        else if(gesture.Phase==ContinuousGesturePhase.Updated )
        {
            Debug.Log("拖拽中");
        }

    }
}
--------------------- 
作者:昵称好难写 
来源:CSDN 
原文:https://blog.csdn.net/qq_36274965/article/details/79495483 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/liu943367080/article/details/86253395