unity5.3+Easytouch4.3——EasyTouch及摇杆控件介绍

一、EasyTouch插件介绍

本文总结时,目前网上可以很方便的下载到EasyTouch4.3版本(额……你懂什么叫很方便的),由于某些版本和版本之间还是有很多改动,在此特意声明一下该文使用的版本是4.3,但插件的大体框架不会变动很多,也可以参考一下。有能力购买正版的童鞋也可以到官网支持一下EasyTouch

EasyTouch4.3版本开始已经支持UGUI,所以unity版本低于4.6的话是将不能使用这个版本EasyTouch,目前EasyTouch4.3亲测可以结合unity4.6~5.3版本使用。

以下为4.3版本插件包目录结构:

可以看到该版本中EasyTouch分为两大模块

  • 第一个模块EasyTouch是一些基本的响应事件,例如点击屏幕,点击场景中的物体,由于加入了ETT(Easy Touch Trigger)使用方式和UGUI的事件系统类似,非常方便。
  • 第二个模块EasyTouchControl则是一些插件中预先准备好的控制器集合系统并且结合了unity自带的UI系统,例如:Dpad,Joystick,TouchPad,Button。每个模块都有对应的说明文件和接口文件,详细问题就可以参考官方提供的这些文件。

二、 EasyTouch 摇杆功能介绍 

ETC(Easy Touch Controls)控件集中有两种类型的Joystick:

  • Static(静态的):摇杆将会出现在你预先设定好的地方。
  • Dynamic(动态的):摇杆将会出现在你触碰到屏幕的地方。你也可以强制摇杆只出现在某个范围内。

每个摇杆控件由两个图片组成,一个作为背景,一个作为按键。摇杆控件的大小跟背景图片的大小相关(这个大小可以由宽度和高度参数设置)。

摇杆控件每个轴(X和Y轴)返回参数大小范围为-1~1,也可以通过参数设置是否要打开对应的轴向。

(1)如何创建Joystick

右键单击hierarchy窗口,选择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控件的动态和静态活动范围。

创建方式如下:

   Area控件inspector面板属性说明:

Show at Runtime:项目运行状态是否要显示area控件。

Preset:预设的一些Area范围,如果需要自己设定具体范围的话在RectTransform组件中设置即可。

(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属性组

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

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

(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():按下摇杆并向左移动时触发

三、 摇杆控制移动的一个2D小例子

(1)导入相关资源

导入所需要资源并设置相关参数后拖入到场景中。

(2)创建一个JoyStick

右键Hierarchy面板=>Easy Touch Controlls=>JoyStick  或   菜单栏中单击GameObject菜单=>Easy Touch Controlls=>JoyStick

调整Joystick位置,并设置Joystick要控制的对象和控制方式,具体设置参数如下:

            (3)创建控制脚本

using UnityEngine;
using System.Collections;

public class PlayerMonitor : MonoBehaviour
{
    public void JoyStickControlMove(Vector2 direction)
    {
        this.transform.rotation = Quaternion.LookRotation(new Vector3(direction.x, direction.y, 0));
    }
}

            (4)为joystick添加对应控制方法

            

            (5)最终效果

移动Joystick thumb按钮模型会做出同步运动,并在运动过程中改变模型朝向。

时间: 2024-08-29 22:07:34

unity5.3+Easytouch4.3——EasyTouch及摇杆控件介绍的相关文章

Joystick 摇杆控件

本文转载至Cocos2d-x v3.2学习笔记(十)Joystick 摇杆控件 代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72

HTML 基础控件介绍

HTML 基础控件介绍 主要介绍 input.select.textarea.label.fieldset.ul.ol.li等标签 目录 1. <input>标签:主要用于收集用户信息,可根据不同的type属性值,拥有多种形式. 2. <select>标签:可创建单选或多选菜单,类似于winform的combox或listbox. 3. <textarea>标签:多行文本区域. 4. <label>标签:相当于一个展示文本框. 5. <fieldset

Android控件介绍

Android控件介绍 多选按钮(CheckBox) CheckBox有两个常用的事件,OnClickListener事件和OnClickChangeListener事件 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_w

amCharts 金融图表股票走势K线图控件介绍

amCharts控件股票走势图的主要目的是为了显示金融图表,但它可以用于任何日期(时间)为基础的数据可视化. 股票走势图,是一个功能强大的应用程序,让你忘了最枯燥的部分构建复杂的统计系统.它具有内置的期间和数据集选择工具,并能较长组数据.这使您可以向下钻取图表不用任何额外的编码,只使用一个数据文件.单击"最大"按钮下面的图表,你会发现该图表显示月度数据.点击"1月"的按钮,你会看到,现在的图表显示每天的数据. 主要特点: 支持线,柱,烛台,OHLC,步线的图表类型.

SharePoint统计图表控件Nevron Chart for SharePoint控件介绍

Nevron Chart for SharePoint是一个先进的图表Web部件,其能为您的SharePoint站点提供一整套的2D和3D图表类型,高度可自定义的轴,先进的数据分析功能,严密的数据集成和无与伦比的视觉效果.其组合了业内领先的Nevron Charting engine for ASP.NET以及Nevron Pivot Data Aggregation engine.这使得用户能在SharePoint环境中直观的完成复杂的透视图表的创建. 主要功能: 支持SharePoint S

WPF Step By Step 控件介绍

WPF Step By Step 控件介绍 回顾 上一篇,我们主要讨论了WPF的几个重点的基本知识的介绍,本篇,我们将会简单的介绍几个基本控件的简单用法,本文会举几个项目中的具体的例子,结合这些 例子,希望我们可以对WPF的掌握会更深刻.本文涉及的内容可能较多.请大家慢慢看看.错误之处,还请指出. 本文大纲 1.基本控件介绍与用法. 基本控件介绍与用法 文本控件 Label控件 label控件:一般用户描述性文字显示. 在Label控件使用时,一般给予用户提示.用法上没有什么很特殊的,label

Barcode Professional for ASP.NET ASP.NET条码生成和打印功控件介绍

Barcode Professional for ASP.NET是最灵活和强大的.NET组件(.NET DLL 类库),它让您轻松地添加先进的条码生成和打印功能到您的ASP.NET Web解决方案(包括ASP.NET Mobile Web站点). 具体功能: Neodynamic Barcode Professional for ASP.NET是最灵活和强大的.NET组件(.NET DLL 类库),它让您轻松地添加先进的条码生成和打印功能到您的ASP.NET Web解决方案(包括ASP.NET

Essential HTMLUI 浏览器控件介绍及下载

Essential HTMLUIfor Windows Forms是一款WinForm控件用于呈现HTML,功能很像一个Web浏览器,支持各种各样的HTML标签,可以显示丰富的HTML文档,支持导出和打印. 具体功能: HTMLUI是一款完全与浏览器独立的控件,支持以URL的形式打开HTML 支持从用户驱动器路里加载任何HTML页面 支持使用图片代替文本用于连接到其他文件 支持以流的形式加载HTML文档 支持各种各样的HTML标签,格式化相关的标签 支持外部的.内在的.内嵌的样式,支持在运行时添

Essential BI PivotGrid可扩展的数据透视表控件介绍及下载

Essential BI PivotGrid是一款强大的可扩展的数据透视表,可用于Silverlight和WPF平台下,和Excel里的数据透视表功能十分相似,用于从大量商业数据中提取重要数据,并对数据进行统计和分组,开发人员可以使用该控件对商业数据进行组织和系统分析.该产品包含在Business Intelligence Edition里. 具体功能: 支持条件格式化,对某些符合条件的单元格进行特别显示 支持导出数据到Excel和Word文档 支持多种数据过滤功能 支持单元格选择,多个单元格选