-
EasyTouch
2019-03-28 10:31:39在场景目录列表中 添加EasyTouch物体 Enable EasyTouch EasyTouch触屏功能开启或关闭 Enable Unity Remote 远程unity ? 开启多指触屏模式 (最终打包时,关闭此选项) GUI兼容 Enable Uniyt UI ...在场景目录列表中 添加EasyTouch物体
EasyTouch触屏功能开启或关闭
Enable Unity Remote
远程unity ? 开启多指触屏模式 (最终打包时,关闭此选项)
GUI兼容
Enable Uniyt UI detection
开启或关闭Unity UI元素触屏识别
Unity UI compatibility
Enable : 如果开启,则手指在接触UI元素时不触发EasyTouch的相关手势事件
Disable : 触发EasyTouch的相关手势事件,并在gesture参数中设置Gesture.isOverUIElement为true.
Enable : 每帧更新UI组件
NGUI相关忽略
可交互元素
Enable auto-select
3d物体时能被触摸识别
pickable layers 3D
能够被触摸识别的3d物体层级
Auto update picked gameobject
每帧更新当前触摸的游戏物体对象
Enable 2D collider
开启2d物体碰撞器识别
pickable 2D layers
能够被触摸识别的2d物体层级
手势参数设置
Priority to
优先处理点击或滑动的手势
Tap : 手指移动的间距小于 Stationary tolerance 值, 被识别为点击操作
Slips : 手指移动的间距大于 Stationary tolerance 值, 被识别为滑动操作
Stationary tolerance
手指移动间距 (像素)
Long tap time
长按多久才出发点击
Double tap time
双击最大间隔时间
Swipe tolerance
手势方向角度误差
双指手势属性
2 Fingers gesture
开启双指手势识别
Pick method
选中物体的方式
Finger : 双指必须同时触摸同一个物体
Average : 双指的中心位置在物体上就可以选中物体
Enable swipe & drag
能够识别滑动或拖动手势
Enable Pinch
识别向内挤压动作
Min pinch length
识别挤压动作的最小移动间距
Enable twist
能识别选择动作
Min twist angle
最小能够识别旋转角度
在场景中一个物体上添加Easytouch物体
Using HedgehogTeam.EasyTouch; //引用插件
单个手指操作
1: 单指触摸屏幕
被触摸的物体脚本中添加以下事件
EasyTouch.On_TouchStart += MyTouchStart; // 开始触摸瞬间 void MyTouchStart (Gesture gesture){ … } //注册触摸事件的自定义方法, 参数是Gesture
EasyTouch.On_TouchDown +=MyTouchDown //触摸状态 void MyTouchDown(Gesture gesture)
EasyTouch.On_TouchUp+=MyTouchUp //停止触摸 void MyTouchUp(Gesture gesture)
判断当前是否触摸脚本所在的游戏物体
If(gesture.PickGameObject=this.gameObject)
2: 单指点击屏幕
EasyTouch.On_SimpleTap += MySimpleTap
void MySimpleTap(Gesture gesture)
3: 单指长按屏幕 长按激活, 会有Start 到 End 的过程 而触摸是 Start Down Up 的过程
EasyTouch.On_LongTapStart += MyLongTapStart //开始点击瞬间
EasyTouch.On_LongTap +=MyLongTap //长按中
EasyTouch.On_LongTapEnd+=MyLongTapEnd //停止点击
4:单指双击屏幕
EasyTouch.On_DoubleTap+= MyDoubleTap
void MyDoubleTap(Gesture gesture)
{...}
双指操作
双指触摸
双指触摸和单指触摸事件名称后缀加2fingers 就可以了
EasyTouch.On_TouchStart2Fingers +=MyTouchStart2Fingers //双指触摸瞬间 void MyTouchStart2Fingers(Gesture gesture) { … }
EasyTouch.On_TouchDown2Fingers +=MyTouchDown2Fingers //双指触摸时
EasyTouch.On_TouchUp2Fingers+=MyTouchUp2Fingers // 双指离开屏幕时
EasyTouch.On_Cancle2Fingers+=MyCancle2Fingers // 取消双指触摸(只要有一只手指离开便生效)
注意双指需要都触摸当前游戏物体才可以出发该事件
双指点击
单指点击事件名加2fingers后缀
EasyTouch.OnSimpleTap2Fingers += MySimpleTap2Fingers
双指长按
EasyTouch.On_LongTapStart2Finger += MyLongTapStart2Fingers //双指触碰瞬间
EasyTouch.On_LongTap2Finger+= //双指触摸时
EasyTouch.On_LongTapEnd2Finger +=
EasyTouch.On_Cancle2Fingers += //取消双指触摸(只要有一只手指离开便生效)
双指双击
EasyTouch.On_DoubleTap2Finger +=
双指拖动
EasyTouch.OnDragStart2Fingers
EasyTouch.OnDrag2Fingers
EasyTouch.OnDragEnd2Fingers
双指捏,压紧
EasyTouch.OnTouchStart2Fingers
EasyTouch.OnPinchIn //双指向内挤压
EasyTouch.OnPinchOut //双指相反方向移动
EasyTouch.OnPinchEnd //结束捏的动作
在OnTouchStart2Finger 监听事件函数中
开启pinch模式
EasyTouch.SetEnablePinch(true);
关闭扭转模式
EasyTOuch.SetEnableTwist(false);
在On_PinchIn监听函数中
获得每秒中 双指的缩放值
float zoom = gesture.deltaPinch *time.deltaTime; //注意gesture.deltaTime 恒大于0
对当前物体缩放
Vector3 scale=transform.localScale
Transform.localScale=new Vector3(scale.x-zoom,scale.y-zoom,scale.z-zoom);
在On_PinchOut 监听函数中
Transform.localScale=new Vector3(scale.x+zoom,scale.y+zoom,scale.z+zoom); //加上缩放系统
在On_PinchEnd监听方法中
开启扭转模式
EasyTouch.SetEnableTwist(true);
双指旋转
EasyTouch.OnTouchStart2Fingers
EasyTouch.OnTwist += MyTwist //开始扭转
EasyTouch.OnTwistEnd //扭转结束
EasyTouch.OnCancle2Finger //双指离开屏幕
在OnTouchStart2Fingers 中 开启扭转模式,关闭旋转模式
在OnTwist的监听函数中
Void MyTwist(Gesture gesture)
{
If(gesture.pickGameObject=this.gameObject)
{
transform.rotate(new vector3(0,0,gesture.twistAngle)); //gesture.twistAngle 扭转角度
}
}
通用操作
通用是指单个手指或多个手指都能触发的事件 有拖拽动作, 手指划过姿势动作(一个方向划过)
拖拽操作
EasyTouch.On_DragStart+= MyDragStart //开始滑动瞬间 void MyDragStart(Gesture gesture)
EasyTouch.On_Drag +=MyDrag //滑动中
EasyTouch.On_DragEnd+=MyDragEnd //结束滑动时
gesture.fingerIndex 等于0单指,1双指 //当前接触屏幕的手指数,在滑动屏幕时,需要先在On_DragStart中记录手指的数目,在On_Drag过程中检验手指数目是否和开始时数量一致 单个手指,多个手指都会调用这个方法
If(gesture.pickedGameobject=this.gameObject&& gesture.fingerIndex= =0)
{…}
Vector3 touchPointInWorld =gesture.GetTouchToWorldPoint( gesture.pickObject.transform.position) //获得当前触摸点在世界中的位置,世界坐标触摸点离摄像机的距离和传入参数的物体到摄像机的距离相同
float angle=gesture.GetSwipeOrDragAngle(); // 拖动的角度 ; xy轴 -180°到180° x轴正方向0° y轴正方向 90° y轴负方向 -90°
划过姿势
EasyTouch.OnSwipe += MySwipe
EasyTouch.swipeDirection swipe=gesture.swipe; //滑动方向 : 上下左右
以上触摸的事件都在写在每个被触摸的脚本中,下面是用一个全局的脚本来管理所有的触摸事件
该示例来自 插件中RTS_Example_With_New_Syntaxe demo场景
在update函数中
更新 当前的Gesture
在update函数中
更新 当前的Gesture
Gesture currentGesture=EasyTouch.current;
if(currentGesture.type=EasyTouch.EvtType.On_SimpleTap) //如果当前触碰的是单指点击事件
.....
-
easyTouch
2013-11-12 11:31:00http://game.ceeger.com/forum/read.php?tid=10244&fid=16 转载于:https://www.cnblogs.com/sy88/p/3419199.html转载于:https://www.cnblogs.com/sy88/p/3419199.html
-
EasyTouch插件
2020-10-25 15:07:36该EasyTouch支持Unity2018以及2019,可以放心下载使用。我直接将文件夹进行了压缩,下载完成直接将文件夹解压之后,拖到项目中即可使用。 -
EasyTouch 5
2018-02-09 17:21:29EasyTouch 适用于unity5.x版本 EasyTouch 适用于unity5.x版本 亲测5.6.1有用 -
EasyTouch5.0
2018-08-30 12:00:15EasyTouch是在Unity中常会用到的一个插件,我们在手机上玩过的RPG类游戏、和FPS射击类游戏,通过虚拟的摇杆来控制人物移动,和通过按钮做出攻击动画等一系列关于触屏的操作,在Unity完全可以通过EasyTouch插件来很好... -
EasyTouch5
2018-03-30 13:00:29EasyTouch虚拟摇杆 , 最新版本 , 功能比旧版本强大的多 -
EasyTouch.rar
2020-08-19 23:51:56EasyTouch是一款虚拟摇杆插件,控制游戏中角色的移动。寻求unity的资源真的难。网上能找到EasyTouch3,EasyTouch5的资源很难找到,在这里贡献一下。 -
EasyTouch v5.0.17
2018-08-09 13:44:48EasyTouch 支持全平台,支持版本在Unity5.2.0以上! EasyTouch 支持全平台,支持版本在Unity5.2.0以上! EasyTouch 支持全平台,支持版本在Unity5.2.0以上! EasyTouch 支持全平台,支持版本在Unity5.2.0以上! -
EasyTouch丨EasyTouch4_x订阅事件与EasyTouch5_x获取当前事件
2018-08-19 14:01:50要想在项目中实现EasyTouch功能,需要在Hierarchy面板中添加Easytouch游戏物体。Easytouch游戏物体是Easytouch组件实现功能的基础 事件 EasyTouch脚本检测Touch、Durg、Swipe等行为,每一个行为对应几个事件...要想在项目中实现EasyTouch功能,需要在Hierarchy面板中添加Easytouch游戏物体。Easytouch游戏物体是Easytouch组件实现功能的基础
事件
EasyTouch脚本检测Touch、Durg、Swipe等行为,每一个行为对应几个事件。比如Touch行为对应On_TouchUp、On_TouchDown。检测到某行为时,自动触发对应事件
订阅事件
订阅事件:方法订阅事件。
如果方法订阅了事件,当事件触发时,系统会调用该方法去执行。因此我们要把方法注册到事件中去
EasyTouch4_x写法
using UnityEngine; using HedgehogTeam.EasyTouch; public class test0 : MonoBehaviour { //在OnEnable中订阅Easytouch中的事件 private void OnEnable() { //委托 EasyTouch.On_TouchStart += OnTouchStart; } //在OnDisable和OnDestroy中取消订阅EasyTouch中对应的事件 private void OnDisable() { EasyTouch.On_TouchStart -= OnTouchStart; } private void OnDestroy() { EasyTouch.On_TouchStart -= OnTouchStart; } //gesture由EasyTouch系统传递过来,包含触碰的很多信息,可用于方法中的调用 void OnTouchStart(Gesture gesture) { Debug.Log("Start"); Debug.Log("StartPosition"+gesture.startPosition); //触碰时长 Debug.Log("StartPosition" + gesture.actionTime); } }
EasyTouch5_x写法
该写法不用写订阅事件,而是用EasyTouch.current获取玩家当前输入的手势,与EasyTouch预定义的手势进行对比,可根据结果进行各种行为
using UnityEngine; using HedgehogTeam.EasyTouch; public class test1 : MonoBehaviour { private void Update() { //通过EasyTouch.current获取玩家当前输入的手势 Gesture currentGesture =EasyTouch.current; //当前屏幕上的手势类型currentGesture.type是否等于On_TouchStart类型 //当无输入时,EasyTouch.current为null,currentGesture.type获取不到当前类型,系统会报错 if (currentGesture!=null && EasyTouch.EvtType.On_TouchStart == currentGesture.type) { OnTouchStart(currentGesture); Debug.Log("StartPosition" + currentGesture.startPosition); } } void OnTouchStart(Gesture gesture) { Debug.Log("Start"); Debug.Log("StartPosition" + gesture.startPosition); //触碰时长 Debug.Log("StartPosition" + gesture.actionTime); } }
-
EasyTouch丨EasyTouch 5 贪吃蛇接入实战
2018-08-21 20:42:37获取EasyTouch当前手势 Gesture currentGesture = EasyTouch.current; 判断当前手势是否为向上、下、左、右滑 currentGesture != null && currentGesture.swipe == EasyTouch.Swipe...贪吃蛇资源包:下载
获取EasyTouch当前手势
Gesture currentGesture = EasyTouch.current;
判断当前手势是否为向上、下、左、右滑
currentGesture != null && currentGesture.swipe == EasyTouch.SwipeDirection.Up currentGesture != null && currentGesture.swipe == EasyTouch.SwipeDirection.Down currentGesture != null && currentGesture.swipe == EasyTouch.SwipeDirection.Left currentGesture != null && currentGesture.swipe == EasyTouch.SwipeDirection.Right
贪吃蛇添加加速减速两种方法
1、挂载Button事件方法
写方法,挂载到EasyTouch Button的On Down()和On Up()事件上去
public void ButtonDown() { if (MainUIController.Instance.isPause == false && isDie == false) { CancelInvoke(); InvokeRepeating("Move", 0, velocity - 0.2f); } } public void ButtonUp() { if (MainUIController.Instance.isPause == false && isDie == false) { CancelInvoke(); InvokeRepeating("Move", 0, velocity); } }
2、代码获取手势方法
//SpeedUpButton为Button的名字 if (ETCInput.GetButtonDown("SpeedUpButton") && MainUIController.Instance.isPause == false && isDie == false) { CancelInvoke(); InvokeRepeating("Move", 0, velocity - 0.2f); } if (ETCInput.GetButtonUp("SpeedUpButton") && MainUIController.Instance.isPause == false && isDie == false) { CancelInvoke(); InvokeRepeating("Move", 0, velocity); }
Debug
EasyTouch的Button键或许或有bug,我们根据文档提示按步骤操作
If you found problems in the behavior of the buttons with ETCInput.GetButtonDown or ETCInput.GetButtonUp,please force the script execution order like this :
1- Open Script Execution Order (Edit => Project Settings => Script Execution Order)
2- Add ETCButton in first
3- Add yours scripts that use ETCInput.即:任意一个脚本——Inspector——Script Execution Order——首先添加ETCButton,其次添加用到ETCInput的脚本——Apply
-
Unity EasyTouch 5.0.8
2017-11-08 23:33:56EasyTouch虚拟摇杆插件,版本5.0.8,支持unity2017~ (EasyTouch 3.x 已经不再支持新版unity,很多老旧教程在unity里出错就是这个原因) -
EasyTouch插件安装包
2018-10-19 16:35:01EasyTouch插件安装包,下载后解压缩,可以直接导入到unity的项目中 -
最新版EasyTouch插件
2019-05-31 11:20:10EasyTouch允许您基于触摸屏手势,操纵杆,按钮,带EasyTouch控件的DPadn TouchPad快速轻松地开发动作。Easy Touch 5的新功能为初学者 提供了更好的启动功能: * EasyTouch可识别所有主要手势,如点击,双击,滑动,... -
【EasyTouch】Unity3d 插件研究之EasyTouch插件
2017-11-02 17:04:21参考资料:Unity3D教程之EasyTouch插件 http://www.newbieol.com/information/564.html Unity3D EasyTouch 初步使用教程(详细) http://blog.csdn.net/lifeonelive/article/details/47974905 Unity插件... -
EasyTouch5插件
2018-03-31 13:16:37EasyTouch5插件下载 csdn下载地址:EasyTouch5 官网下载地址:EasyTouch5 EasyTouch手势检测 4_x用法 1.在场景中添加EasyTouch: 2.编写脚本代码,订阅EasyTouch中的事件(4.x的写法) ... -
EasyTouch3.1.6.zip
2019-09-12 12:56:36unity EasyTouch3.1.6,亲测unity2019 可以使用。 -
EasyTouch学习
2018-08-09 00:02:44enum...EasyTouch插件封装了很多手势,可以实现拖拽,滑动,虚拟摇杆,双击,快击.....等等等... 以前自己实现 滑动,等双击,事件的时候,很麻烦。而且不全。 而且简单易懂。 如何 使用EasyTouch呢, 下载好插件 ... -
EasyTouch_v5.0.8
2020-10-09 10:42:39EasyTouch_v5.0.8 untiy 2017.4.37f,亲测可用。主要用来做触摸移动,旋转,缩放场景物件 有需要的同学可以下载。 -
android_easytouch (上)
2017-10-18 14:55:52easytouch -
unity_EasyTouch
2020-08-07 10:42:04目录导入EasyTouch5EasyTouch4.x的使用编辑脚本 导入EasyTouch5 导入之后可能会有一个行尾对齐的警告,点击警告用vs或其他编辑器打开,确定,保存即可。 EasyTouch4.x的使用 如果要使用EasyTouch的功能,那必须... -
EasyTouch5.0.17
2019-03-11 23:55:41(一)EasyTouch基础使用 1.OnTouchStart,OnTouchUp,OnSwipe 2.QuickGesture (1)Quick Drag (2)Quick Enter Over Exit (3)Quick Long Tap (4)Quick Pinch(按住alt,可以模拟双指) (5)Quick Swipe...
-
python unicode转中文
-
HTML 时间获取器 laydate
-
Mysql数据库面试直通车
-
Win8.1 Apps应用部署v2.6
-
智能停车场云平台(附vue+SpringBoot前后端项目源码)
-
xxx讲话实录.zip
-
linux c spi应用层 通信源代码
-
【ACWing】1023. 买书
-
牛牛量化策略交易
-
深究字符编码的奥秘,与乱码说再见
-
MySQL 备份与恢复详解(高低版本 迁移;不同字符集 相互转换;表
-
清华大学历年考研复试机试真题 - 等差数列
-
工程大面向对象课程设计作品(完整)(也适用于软件工程大实验).7z
-
zookeeper-3.4.14.tar.zip
-
物联网基础篇:快速玩转MQTT
-
信息安全风险评估服务手册.doc
-
MaxScale 实现 MySQL 读写分离与负载均衡
-
CentOS 7 下修改主机名
-
Python爬虫零基础最全入门课程
-
golang 实现socket通信编程 练习