EasyTouch初步使用
ETC(Easy Touch Controls)控件集中有两种类型的Joystick:
- Static(静态的):摇杆将会出现在你预先设定好的地方。
- Dynamic(动态的):摇杆将会出现在你触碰到屏幕的地方。你也可以强制摇杆只出现在某个范围内。
每个摇杆控件由两个图片组成,一个作为背景,一个作为按键。摇杆控件的大小跟背景图片的大小相关(这个大小可以由宽度和高度参数设置)。摇杆控件每个轴(X和Y轴)返回参数大小范围为-1~1,也可以通过参数设置是否要打开对应的轴向。
(1)如何创建Joystick
选择EasyTouch Controls下的JoyStick。
ETC会自动创建一个canvas和一个EventSystem游戏对象。
(2)Joystick控件Inspector面板
属性组说明:
- Activated:是否激活这个摇杆控件,即使这个属性是disable状态摇杆控件也可见。
- Visible:是否显示摇杆。
- Use Fiexed Update:如果使用物理系统的更新频率的话需要勾选这个属性。
- Position&Size:设置摇杆类型和位置、大小。
- Axes properties:轴属性设置。
- Sprites:设置摇杆的图片。
- Move Events、Touch Events、Down Events、Press Events:在这四个事件面板中,你可以设置任何系统中已定义的时间,使用方式和UGUI/NGUI的事件调用方式类似,将项目中已经存在的调用方法直接拖到控件上即可。joystick,DPad,TouchPad这几种控件的事件响应机制类似,可以很容易的实现重用和替换。
(3)Position&Size属性组
Type:设置摇杆类型(静态or动态)。
Anchor:锚点设置
No return of the thumb:手指离开屏幕后thunmb图片是否要回归原位
Background Size:背景图片大小。
Thumbe Size:拇指按钮大小(即拇指拖动的那块图片大小)。
Radius based on:设置摇杆控件的半径大小基于什么轴向决定。这个参数在你导入的图片不是正方形时会有用。
关于动态joystick的设置:
动态joystick需要设置其出现范围,可以根据需要选择如下类型,如果选择的是User Defined则需要用户自己指定活动范围。
关于静态joystick的设置:
Anchor:锚点的设置
Offset:相对锚点的偏移距离
如果选择的是User Defined则需要用户自己指定活动范围。
关于Area的设置:
创建area可以用来制定joystick控件的动态和静态活动范围。
创建方式如下:
(4)Axes properties属性组
Horizontal zxis & Vertical axis:设置水平、垂直轴是否可用,后面的输入框可以输入该轴对应名字,并且该命名必须在整个场景中是唯一的。
Inverted axis:翻转轴向正负值。
Dead length:这个值决定了从中心开始每个轴向上多远的距离内是无效区域,即每个轴向上移动距离若少于最远距离的这个比例则该轴向上是没有返回值的。
On/Off Threshold:开启关闭阈值(与down触发事件相关,可参考文章下面down events部分)
Speed:这个数值直接用于操作摇杆移动的时候所控制物体的运动速度,这个数值可以通过ETCInput.GetAxisSpeed接口获得(关于接口的详细信息可以参考ETCInput_API.PDF文档)。
Action on:作用时机Press(持续按住)/Down(按下的一瞬间)发生反馈。
Direct Action to:设置摇杆要操控的对象(含有transform组件的游戏对象)。
Action:选择要对action to对象产生的影响。(移动、旋转、施加作用力……)。
Affected axis:作用轴(X/Y)。
Enable inertia:是否激活延迟功能。
Positive key:可以设置该按键与摇杆对应轴的正方向(水平轴为右方,垂直轴为上方)上具有同等功能。
Negative key:可以设置该按键与摇杆对应轴负方向(水平轴为左方,垂直轴为下方)上具有同等功能。
(5)Sprites属性组
(6)Events属性组
- 如何添加事件?
找到对应的触发方法,点击加号。
在写好所要触发的具体方法内容后,将脚本挂到游戏对象下,再将游戏对象拖到对应触发方法下,在function处选择刚刚写好的对应类下面的方法即可。
- Move Events
On Move Start():首次移动摇杆时触发(当返回到0点位置时触发时机将会被重置)
On Move(Vector2):移动摇杆的过程或者摇杆thumb键没有回到原点时将会持续触发,将摇杆每个轴上移动的距离(值范围为-1~1)作为方法参数传入。
On Move Speed(Vector2):移动摇杆的过程或者摇杆thumb键没有回到原点时将会持续触发,将摇杆每个轴上axisValue * axisSensitivity*Time.deltaTime作为方法参数传入。
On Move End():当摇杆thumb键回到原点或者用户释放摇杆时触发
- Touch Events
On Touch Start():当第一次触摸摇杆时触发
On Touch Up():当用户释放摇杆(停止触摸)时触发
- Down Events
On Down Up():用户第一次按下摇杆并向上移动时触发(当摇杆thumb键回到原点或摇杆位置在对应轴threshold值范围内时重置该函数触发条件)
On Down Right():用户第一次按下摇杆并向右移动时触发(当摇杆thumb键回到原点或摇杆位置在对应轴threshold值范围内时重置该函数触发条件)
On Down Down():用户第一次按下摇杆并向下移动时触发(当摇杆thumb键回到原点或摇杆位置在对应轴threshold值范围内时重置该函数触发条件)
On Down Left():用户第一次按下摇杆并向左移动时触发(当摇杆thumb键回到原点或摇杆位置在对应轴threshold值范围内时重置该函数触发条件)
- Press Events
On Press Up():按下摇杆并向上移动时触发
On Press Right():按下摇杆并向右移动时触发
On Press Down():按下摇杆并向下移动时触发
On Press Left():按下摇杆并向左移动时触发
参考代码(未实现人物动画,只能移动):
本文参考了别人的资料,以后自己还要继续加油。20170225
EasyTouch初步使用相关推荐
- 【Unity3D插件】EasyTouch插件分享《手机摇杆插件》
推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 一.前言 这篇文章参考了很多博客,然后加入了一些自己的理解,从了解到深入都有 ...
- Unity插件 EasyTouch
原文链接 https://blog.csdn.net/q764424567/article/details/78426905 参考资料: Unity3D教程之EasyTouch插件 http://ww ...
- [Unity实战]一个简单的unity手写摇杆[入门级][手写demo][开箱可用]
一个简单的unity手写摇杆 1.摇杆是什么 2.常见的unity摇杆插件 3.如何做一个简单摇杆(代码) 4.效果展示 5.github 1.摇杆是什么 固定移动摇杆的意思指固定一个摇杆的贴图,操作 ...
- TensorRT 7.2.1开发初步
TensorRT 7.2.1开发初步 TensorRT 7.2.1开发人员指南演示了如何使用C ++和Python API来实现最常见的深度学习层.它显示了如何采用深度学习框架构建现有模型,并使用该模 ...
- SOC,System on-a-Chip技术初步
SOC,System on-a-Chip技术初步 S O C(拼作S-O-C)是一种集成电路,它包含了电子系统在单个芯片上所需的所有电路和组件.它可以与传统的计算机系统形成对比,后者由许多不同的组件组 ...
- 《OpenCV3编程入门》学习笔记3 HighGUI图形用户界面初步
第3章 HighGUI图形用户界面初步 3.1 图像的载入.显示和输出到文件 1.OpenCV命名空间2种访问方法 (1)代码开头加:usingnamespace cv; (2)每个类或函数前加:cv ...
- 初步判断内存泄漏方法
有时候,内存泄漏不明显,或者怀疑系统有内存泄漏,我们可以通过下面介绍的方法初步确认系统是否存在内存泄漏. 首先在Java命令行中增加-verbose:gc参数, 然后重新启动java进程. 当系统运行 ...
- android蓝牙4.0(BLE)开发之ibeacon初步
一个april beacon里携带的信息如下 ? 1 <code class=" hljs ">0201061AFF4C0002159069BDB88C11416BAC ...
- 游戏AI之初步介绍(0)
目录 游戏AI是什么? 游戏AI和理论AI 智能的假象 (更新)游戏AI和机器学习 介绍一些游戏AI 4X游戏AI <求生之路>系列 角色扮演/沙盒游戏中的NPC 游戏AI 需要学些什么? ...
最新文章
- 金蝶云如何html5登录,第三方系统单点登录到金蝶云指南V2
- 2016年,新的开始
- JavaScript id_好程序员web前端分享Javascript中函数作为对象
- bootstrap中表格大小设置_bootstrap 设置table - td宽度问题
- Linux20180528
- webstorm创建代码模板
- 前端学习(710):命名规范和语法格式
- EPLAN入门学习笔记(一)——项目创建与基本使用方法
- VFB直接使用TCP发送电子邮件源码
- harbor高可用部署
- 【小工具】极客时间GitChat专栏下载脚本
- 复旦计算机学硕上岸,复旦大学工程与应用技术研究院电子信息2020年考研上岸前辈经验指导...
- vue遍历map对象
- Android每日一文
- MySQL数据库优化的几种方式(笔面试必问)
- eclipse使用maven插件(m2e)配置及运行web项目
- 云米冰箱能控制扫地机器人_真的可以放心了--云米扫地机器人pro入手记
- 汽车诊断协议 - KWP2000
- 银行家算法(java实现)
- Win11遇到问题需要重启怎么办?
热门文章
- SpringBoot mybatis Interceptor分页实现
- MySQL5.7 解决 字符编码问题 与 安装完 MySQL 无 my.ini
- Jupyter Notebook显示图像
- 其他算法-SVD奇异值分解
- 年度第一效率神器:你一定不想错过它!
- MPB:林科院袁志林组-​内生镰刀菌基因组染色体级别组装和注释
- Nature:复杂菌群空间分布研究
- 时玉:微生物地理分布的分析方法与技术
- pandas使用isna函数和any函数检查dataframe是否包含缺失值、整体是否有缺失值,不区分行列(check if dataframe contains any missing values
- R语言ggplot2可视化箱图、配置抖动数据点(jitter points)避免数据点互相覆盖、并使用线条(line)连接两个箱图中不同分组成对的数据点(jitter on Boxplots)