EasyTouch_摇杆/按钮/触摸板
文章目录
- 前言
- 1.Joystick
- 1.1 joystick name
- 1.2 position&size
- 1.3 axes properties
- 1.4 camera
- 1.5 sprites
- 1.6 MoveEvent~PressEvent
- 2.D-pad、TouchPad
- 3.Button
- 4.部分代码
前言
Each Touch前面的几个功能用unity自身的UI事件比较容易实现,但是其最强的地方在于封装了移动端第一人称游戏的操作,以下是几个关键功能:
1.Joystick
右键->选择Easytouch controls->选择Joystick即可添加如下图所示。
1.1 joystick name
此名字与游戏名字相同,但是游戏物体名字无法重新命名,只能在此处修改名字,joystick name后边的几个参数相对来说没有歧义。
1.2 position&size
此部分是用来设定位置和大小,type如果选为dynamic则一开始按钮是隐藏的,会动态在点击位置出现。第二个参数锚点如果不选择用户自定义,则不能在recttransform中设定,只能在joystick中设定。
1.3 axes properties
此部分是设定重点,Turn & move direction action如果选中则表示可以旋转,作用游戏物体为Direct action to参数所指定的游戏物体,也可以点击auto link on tag,通过指定layer来确定作用的游戏物体。Turn & move direction action会影响下边Horizontal axis以及vertical axis子参数。取消勾选,然受设定Horizontal axis以及vertical axis子参数(重点)。
Horizontal axis(vertical axis):
这些参数用来设定相关操作对游戏物的影响,后续的事件(参数moveevent等)绑定功能可实现类似功能(即在绑定的事件中手动编写控制代码)。此处相当于通过参数定义可以快速实现功能。其后边名称可以修改,并通过此名字来获取水平方向的参数(与 Input.GetAxis(“Horizontal”)功能类似);ETCInput.GetAxisDownRight(“Horizontal”)则表示获取名称为Horizontal的Horizontal axis值(由于可以有不同的joystick,所以会有不同的Horizontal axis,通过名称来区分是哪个)
General setting:
主要是react on参数和speed参数,前者为用来确定按下触发(触发一次)还是按下后一直触发(持续触发),后者确定运动的速度。
Direction action:
表示相关运动控制,Direct action to参数所指定的游戏物体,也可以点击auto link on tag,通过指定layer来确定作用的游戏物体。action则表示运动形式(旋转还是已移动还是跳跃。。),affected axis则表示运动轴,而有的是没有此选项的,比如action参数值为jump。
Gravity-inertia-smoothing:
进行相关惯性设定,即松开按键后是否立即停止运动还是会惯性一段时间。
Unity axis:
与unity对应的input类中的轴是否对应(如vertical,horizontal等),axes properties的第一选项Enable unity axis如果不勾选,则此选项则没有作用。
1.4 camera
Enable tracking:是否开启追踪,即是否有运动物体视角(摄像机是否追踪游戏物体)。所以需要设定追踪的摄像机和相应的游戏物体
1.5 sprites
按键的贴图
1.6 MoveEvent~PressEvent
相关事件,跟button操作方法一样,由于事件众多也可以采用ETCInput类来实现,代码见文末。
2.D-pad、TouchPad
右键->选择Easytouch controls->选择D-pad即可添加,其参数与Joystick基本类似,不做赘述。
TouchPad与Joystick功能也相似,不过是以触摸板的形式表现。
3.Button
右键->选择Easytouch controls->选择Button即可添加。其功能少于上述三类,其相当于unity Button功能的扩展,并能够通过Direction action参数(四种按键均有此参数,功能一样)快速定义点击时与运动相关的运动形式。并通过ETCInput.GetButtonValue( “Button”),获取当前值(测试均为1,不知道有什么特殊意思)
4.部分代码
Button代码事件 if (ETCInput.GetButton("Button")){getButtonText.text="YES";getButtonTimeText.text = ETCInput.GetButtonValue( "Button").ToString(); }else{getButtonText.text="";getButtonTimeText.text = "";}if (ETCInput.GetButtonDown("Button")){ getButtonDownText.text = "YES";StartCoroutine( ClearText(getButtonDownText));}if (ETCInput.GetButtonUp("Button")){getButtonUpText.text = "YES";StartCoroutine( ClearText(getButtonUpText));}
代码控制事件 ETCInput.GetAxis("Horizontal");//获取水平轴返回值(与unity的Input.GetAxis相同);ETCInput.GetAxisSpeed("Horizontal");//获取水平轴方向的移动速度;ETCInput.GetAxis("Vertical");ETCInput.GetAxisSpeed("Vertical");//按下与松开(只执行一次)if (ETCInput.GetAxisDownRight("Horizontal")){downRightText.text = "YES";StartCoroutine( ClearText(downRightText));}if (ETCInput.GetAxisDownDown("Vertical")){downDownText.text = "YES";StartCoroutine( ClearText(downDownText));}if (ETCInput.GetAxisDownLeft("Horizontal")){downLeftText.text = "YES";StartCoroutine( ClearText(downLeftText));}if (ETCInput.GetAxisDownUp("Vertical")){downUpText.text = "YES";StartCoroutine( ClearText(downUpText));}//持续按下与松开(持续执行)if (ETCInput.GetAxisPressedRight("Horizontal")){rightText.text ="YES";}else{rightText.text ="";}if (ETCInput.GetAxisPressedDown("Vertical")){downText.text ="YES";}else{downText.text ="";}if (ETCInput.GetAxisPressedLeft("Horizontal")){leftText.text ="Yes";}else{leftText.text ="";}if (ETCInput.GetAxisPressedUp("Vertical")){upText.text ="YES";}else{upText.text ="";}
Event注册时间 public void MoveStart(){}public void Move(Vector2 move){}public void MoveSpeed(Vector2 move){}public void MoveEnd(){}public void TouchStart(){}public void TouchUp(){}public void DownRight(){}public void DownDown(){}public void DownLeft(){}public void DownUp(){}public void Right(){}public void Down(){}public void Left(){}public void Up(){}
EasyTouch_摇杆/按钮/触摸板相关推荐
- linux触摸板设置密码程序6,centos linux 触摸板设置
设置linux触摸板对于不常用linux的人来说没有多大意义,我热爱linux,日常生活及工作我都用linux,但是我又不能骂微软,因为在linux没法用网银,所以在京东,卓越及其他购物网站不能货到付 ...
- linux触摸板设置密码程序6,Linux下Synaptics笔记本触摸板的配置
笔记本上Synaptics的触摸板比较常见,但关于其配置的资料目前来看比较混乱,主要原因是这两年来桌面环境的变化比较大,搜索出来的结果是不同时期的人的解决办法,往往五花八门让人无所适从,如果想完全控制 ...
- linux+synaptics+驱动程序,Linux下Synaptics笔记本触摸板的配置
笔记本上Synaptics的触摸板比较常见,但关于其配置的资料目前来看比较混乱,主要原因是这两年来桌面环境的变化比较大,搜索出来的结果是不同时期的人的解决办法,往往五花八门让人无所适从,如果想完全控制 ...
- Linux下Synaptics笔记本触摸板的配置
笔记本上Synaptics的触摸板比较常见,但关于其配置的资料目前来看比较混乱,主要原因是这两年来桌面环境的变化比较大,搜索出来的结果是不同时期的人的解决办法,往往五花八门让人无所适从,如果想完全控制 ...
- linux没有检测到触摸板,linux – 制作没有按钮的触摸板,就像带有按...
假设一个synaptics兼容的鼠标垫没有物理按钮,但整个表面是物理上可点击的(不是点击,但可以物理点击).具有这些功能的特定触摸板是Macbook Pro(BCM5974)上的触摸板. 如果可能的话 ...
- 六、libinput功能介绍(二、触摸板软件按钮及模拟鼠标中键)
这里的触摸板指的是没有独立物理按钮的触摸板,而是把整个触摸板作为一个独立的"按钮".左键和右键行为通过手指点击的区域来区分,或者通过同时按压触摸板手指的数量来区分.原文中的&quo ...
- 神舟笔记本触摸板驱动_关闭笔记本触摸板的四种方法
从某种意义上说,触摸板的使用,能够帮助我们解放一部分的工作.但是很多时候,我们都会用不到触摸板,因为我们还是会使用鼠标更多.这时,触摸板的存在就会显得有点碍事,因为我们会出现误触的情况.这时,我们就要 ...
- 触摸板把计算机从休眠状态唤醒,win10笔记本盒盖唤醒后触摸板失灵的处理方法...
现在,很多笔记本电脑都预装了win10正式版系统,不过用户在使用新系统过程中也会遇到一些问题.比如,一些朋友反馈自己将笔记本屏幕合上后重新打开登录到系统触摸板就失灵无法使用,该怎么办呢?其实,该问题一 ...
- 华为MateBookX i5 2017款 8G+256G win10系统触摸板失灵解决办法
如标题所述,这台笔记本2020年过保修期,在临近保修期的时候突然发现触摸板间歇性失灵.期间经历了咨询华为智能客服(笔记本自带的电脑管家),并按其介绍自行处理无解.后去华为授权服务店找工程师维修,工程师 ...
最新文章
- Android登录拦截器实现方式(一)
- LinkedList详解,看这篇就够了
- 响应式web(四):使用Netty作为web容器,基于注解的WebFlux阻塞式与响应式实现
- ssh无密码登录设置(centos6系统下实现)
- 32/100. Binary Tree Inorder Traversal
- Sobel算子取代:基于特定点方向的canny边缘检测
- 997西方行政学说 (2)
- 64 装饰器函数: 母版 csrf防御机制 cookie
- enumerate取下标
- 怎么删除CSDN已上传的资源
- docker安装mysql并配置文件_Docker安装mysql,并自定义my.cnf
- chrome保护眼睛设置【转】
- python opencv 找到圆点标定板所有点后通过距离找两个角点4
- [洛谷P3292][SCOI2016]幸运数字
- 机器学习之初识SVM
- 很多人都对3dB带宽有一定误解
- bilibili缓存文件在哪里_2020年最新最全实现转换bilibili的m4s为MP4的画质无损教程 专治各种不服!...
- mplab c30 注册方法
- 查询计算机系统操作工,计算机系统操作工B卷
- 【信息系统项目管理师】解读高项考试大纲