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("拖拽中");
}
}
}
运行可看到输出