EasyTouch和摇杆控制简介

一、EasyTouch插件介绍

EasyTouch 4.3版本已经支持UGUI,所以如果unity版本低于4.6,这个版本的Easy Touch将无法使用。目前EasyTouch4.3 pro测试可以配合4.6 ~ 5.3版本使用。

以下是4.3版插件包的目录结构:

你可以看到这个版本中的EasyTouch分为两个模块。

第一个模块EasyTouch是一些基本的响应事件,比如点击屏幕,点击场景中的物体。因为ETT(Easy Touch Trigger)的加入,使用起来非常方便,类似于UGUI的事件系统。

第二个模块EasyTouchControl是在一些插件中提前准备好的控制器集合系统,结合unity自带的UI系统,比如Dpad、摇杆、触摸板、按钮等。每个模块都有相应的描述文件和接口文件。详细问题请参考政府提供的这些文件。

二、EasyTouch摇杆功能介绍

ETC(Easy Touch Controls)控制装置中有两种类型的操纵杆:

静态:操纵杆会出现在你预设的地方。

动态:操纵杆会出现在你触摸屏幕的地方。你也可以强制操纵杆只在一定范围内出现。

每个摇杆控件由两张图片组成,一张作为背景,另一张作为按钮。摇杆控件的大小与背景图像的大小有关(这个大小可以通过宽度和高度参数来设置)。

摇杆控制的每个轴(X和Y轴)返回的参数范围从-1到1。也可以通过参数设置是否打开相应的轴。

如何创建游戏杆

右键单击层次窗口并选择EasyTouch控件下的操纵杆。

ETC会自动创建一个canvas和一个EventSystem游戏对象。

2)操纵杆控制的检查面板

属性组描述:

Activated:是否激活这个摇杆控件,即使这个属性被禁用,摇杆控件也是可见的。

Visible:是否显示操纵杆。

使用固定更新:如果使用物理系统的更新频率,则需要检查该属性。

职位和职位。尺寸:设置摇杆的类型、位置和尺寸。

轴特性:轴特性设置。

精灵:设置摇杆的图片。

移动事件、触摸事件、按下事件和按压事件:在这四个事件面板中,你可以在任何系统中设置定义的时间,类似于UGUI/NGUI的事件调用方法。只需将项目中现有的调用方法直接拖到控件中。操纵杆、DPad和触摸板具有类似的事件响应机制,可以轻松重复使用和更换。

(3)位置和尺寸;大小属性组

类型:设置摇杆类型(静态或动态)。

锚点:锚点设置

拇指不回:手指离开屏幕后,拇指图片会回到原来的位置吗?

背景尺寸:背景图片的尺寸。

Thumbe Size:拇指按钮大小(即拇指拖动的图片大小)。

半径基于:设置确定摇杆控制半径的轴。当您导入的图片不是正方形时,此参数很有用。

关于动态操纵杆的设置:

动态操纵杆需要设置其外观范围,可根据需要选择以下类型。如果选择用户定义,用户需要指定自己的活动范围。

关于静态操纵杆的设置:

锚点:锚点的设置

偏移:距锚点的偏移距离。

如果选择用户定义,用户需要自己指定活动范围。

关于区域的设置:

创建一个区域可用于定义操纵杆控制的动态和静态活动范围。

创建方法如下:

区域控制检查器面板属性描述:

运行时显示:在项目运行状态下是否显示区域控件。

预设:如果需要自己设置具体的范围,可以在RectTransform组件中设置一些预设的区域范围。

(4)轴属性属性组

水平轴和轴。垂直轴:设置水平轴和垂直轴是否可用。轴的对应名称可以在后面的输入框中输入,名称在整个场景中必须是唯一的。

反转轴:翻转轴的正值和负值。

死区长度(Dead length):该值决定了每个轴向距离中心多远是无效区域,即如果每个轴向的移动距离小于最长距离的比值,则该轴向没有返回值。

开/关阈值:打开和关闭阈值(有关向下触发事件,请参考下面的向下事件部分)。

Speed:这个值直接用来控制操纵杆移动时物体的移动速度。该值可以通过ETCInput获得。GetAxisSpeed接口(请参考ETINPUT _ API。PDF文档,了解有关界面的详细信息)。

动作开启:当动作机会是按下/向下时,反馈发生。

Direct Action to:设置要由操纵杆操纵的对象(带有transform组件的游戏对象)。

动作:选择要对对象的动作施加的影响。(移动、旋转、施力...).

受影响的轴:作用轴(X/Y)。

启用惰性:是否激活延迟功能。

正向键:可以设置该键在摇杆对应轴的正向(横轴为右,纵轴为上)具有相同的功能。

负向键:可以设置该键与对应轴负向的摇杆功能相同(横轴为左,纵轴为下)。

(5)精灵属性组

设置与背景和拇指按钮图标对应的图片和基本颜色。

也可以直接在对应游戏对象的image组件中设置(背景和拇指图片是场景中的两个游戏对象)。

(6)事件属性组

如何添加事件?

找到相应的触发方法,然后单击加号。

写好要触发的具体方法内容后,将脚本挂在游戏对象下,然后将游戏对象拖动到对应的触发方法下,在函数处选择刚写好的对应类下的方法。

移动事件

On Move Start():当摇杆第一次移动时触发(当它返回到0点钟位置时,触发定时将被重置)。

On Move(Vector2):当摇杆移动或摇杆的拇指键不回原点时会连续触发,摇杆在各轴上移动的距离(取值范围为-1~1)会作为方法参数传入。

On Move Speed(Vector2):当摇杆移动或摇杆的拇指键不回原点时会连续触发,摇杆各轴的axis value * axis sensitivity * time . delta time作为方法参数传入。

On Move End():当摇杆的拇指键回到原点或者用户释放摇杆时触发。

触摸事件

On Touch Start():第一次触摸操纵杆时触发。

On Touch Up():当用户释放操纵杆(停止触摸)时触发。

下行事件

On Down Up():当用户第一次按下摇杆并向上移动时触发(当摇杆的拇指键回到原点或摇杆位置在对应轴的阈值范围内时,该功能的触发条件复位)。

On Down Right():当用户第一次按下摇杆并向右移动时触发(当摇杆的拇指键回到原点或摇杆位置在对应轴的阈值范围内时,该功能的触发条件复位)。

On Down Down():当用户第一次按下摇杆并向下移动时触发(当摇杆的拇指键回到原点或摇杆位置在对应轴的阈值范围内时,该功能的触发条件复位)。

On Down Left():当用户第一次按下摇杆并向左移动时触发(当摇杆的拇指键回到原点或摇杆位置在对应轴的阈值范围内时,该功能的触发条件复位)。

新闻事件

On Press Up():当摇杆被按下并向上移动时触发。

On Press Right():当摇杆被按下并向右移动时触发。

On Press Down():当摇杆被按下并向下移动时触发。

On Press Left():当摇杆被按下并向左移动时触发。

3.一个2D摇杆控制运动的小例子

(1)导入相关资源

导入需要的资源,设置相关参数,拖动到场景中。

(2)创建一个操纵杆

右键单击层次面板= & gt轻松触摸控件= >操纵杆?还是?点击菜单栏中的游戏对象菜单= & gt轻松触摸控件= >操纵杆

调整操纵杆的位置,设置操纵杆想要控制的对象和控制方式。具体设置参数如下:

(3)创建一个控制脚本

[csharp]查看纯文本

打印?

usingUnityEngine

使用系统。收藏;

publicclassPlayerMonitor?:?单一行为

{

publicvidjoystickcontrolmove(vector 2?方向)

{

这个. transform.rotation?=?四元数。look rotation(new vector 3(direction . x,?direction.y,?0));

}

}

(4)增加相应的操纵杆控制方式。

(5)最终效果

移动操纵杆拇指按钮模型将进行同步运动,并在运动过程中改变模型的方向。