首先先下载导入插件EasyTouch ,不过需要20美金(贵但好用,也支持人家开发)
链接:https://pan.baidu.com/s/12lC1-r9_0oqvUGxh0JRSAw
提取码:pang
吼吼吼吼吼吼,接下来导入插件
先写好三个方法
#pragma warning disable 0618
当我们想让控制台的警告消失,我们找到那个警告的编号 在报警告的代码里的头上加上这段代码
private void OnEnable()
{
}
//在OnDisable和OnDestroy中取消OnEnable中订阅的事件
private void OnDisable()
{
}
private void OnDestroy()
{
}
再写三个方法
gesture 参数用来传递一些操作数据
以上是EasyTouch的4代的版本
EasyTouch 5代的写法
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using HedgehogTeam.EasyTouch;
public class EasyTouch5_xDemo : MonoBehaviour
{
Gesture currentGesture;
//EasyTouch5.x版本新特性可以不用书写订阅事件等一套语句
private void Update()
{
currentGesture = EasyTouch.current;//获取当前屏幕前的手势
//当玩家闲置,手势为空
if (currentGesture == null)
{
return;
}
//将当前玩家的手势与系统手势类型做对比
if (EasyTouch.EvtType.On_TouchStart == currentGesture.type)
{
//写法1:直接在里面写游戏逻辑
//Debug.Log("OnTouchStart");
//Debug.Log("StartPosition" + gesture.startPosition);
//写法2:封装方法
OnTouchStart(currentGesture);
}
if (EasyTouch.EvtType.On_TouchUp == currentGesture.type)
{
OnTouchEnd(currentGesture);
}
if (EasyTouch.EvtType.On_Swipe == currentGesture.type)
{
OnSwipe(currentGesture);
}
}
void OnTouchStart(Gesture gesture)
{
Debug.Log("OnTouchStart");
Debug.Log("StartPosition" + gesture.startPosition);
}
void OnTouchEnd(Gesture gesture)
{
Debug.Log("OnTouchEnd");
Debug.Log("actionTime" + gesture.actionTime);
}
void OnSwipe(Gesture gesture)
{
Debug.Log("OnSwipe");
Debug.Log("Type" + gesture.swipe);
}
}
老写法性能会好一点,因为不用在update 里面一直判断反正各有千秋吧
5代新特性不用在场景中挂EasyTouch 他会自动生成
快速拖拽功能实现,添加自带的一个组件QuickDrag
还有另一个组件
如果挂在Cube 上,则鼠标或手指点击屏幕后进入方块时执行Enter ,一直在方块内执行Over
离开方块时执行Exit
接下来再介绍一个组件,长按组件
监听长按操作,
长按开始,长按中,长按结束 需要添加三个组件选择不同类型添加不同的方法
双指缩放功能,特别适合给一张图片方法缩小
调整这个参数实现大小缩放
设置好后,在cube上点击Ctrl 模拟第一个手指,按住Alt 模拟第二个手势就可以进行缩放了
快速滑动手势
拖拽手指一般要摸得到物体,滑动就不一定
手指拍击,可选单机或者双击
触摸开始,触摸中,触摸后
两根手指转圈圈旋转图片
一般guest over me 和碰撞器是配套使用的
出现bug了 嚯嚯吼吼吼吼吼吼吼吼吼吼吼
接下来是EasyTouch 的新特性
EasyTouchTrigger
给需要监听的物体添加上Trigger组件,然后添加新事件,可以给事件绑定方法,方法必须是当前物体身上挂的脚本上的方法
other object 表示只能在当前物体上出发这个事件
如果勾选other reciver 就可以添加并触发别人身上的脚本的方法

接下来是紧张刺激的摇杆环节
摇杆在游戏中可以说是非常多应用了
EasyTouch 的例子里面有FPS 现场的控制
差不多结束了,如果项目中用到,其实可以看看easyTouch 的官方案例,来实现,想要的功能