[Unity3d插件]EasyTouch简单用法

            对于移动平台上的RPG类的游戏,我们常用虚拟摇杆来控制人物角色的行走和一些行为,相信我们对它并不陌生,之前尝试了EasyTouch2.5,发现并没有最新版的3.1好用,2.5版本的对于自适应没有做的很好,而最新版的已经解决了这一问题。当然unity也自带了摇杆Joystick,用起来也简单,但存在不少局限,不会满足普通mmo游戏的需求,比如指定显示区域或者是更改一些素材等等,而这些EasyTouch插件都已经帮你实现,不得不佩服插件的原作者,能做出这么炫酷好用的插件,当然这估计是老外开发的,关于插件的下载,你可以在AssetStore上购买,当然也可以使用free版。

我这里也提供一个3.1版本的插件下载地址:http://download.csdn.net/detail/s10141303/6962919

二、操作步骤

1.官方文档上的步骤

Quick Start (C#)

1-Import EasyTouch Package.

2-Create an empty gameObject, and name it EasyTouch.(You can choose another name)

Step 1 & 2 can be replace by the option menu3-Add the EasyTouch.cs script on the EasyTouch gameObject that you just created.

4-Select the EasyTouch gameobject, and verifies that Broadcast messages is set to FALSE in the inspector.

5-Create a new C# script MyFirstTouch

6-Add these methods

[csharp]view plaincopyprint?

// Subscribe to events

voidOnEnable(){

EasyTouch.On_TouchStart += On_TouchStart;

}

// Unsubscribe

voidOnDisable(){

EasyTouch.On_TouchStart -= On_TouchStart;

}

// Unsubscribe

voidOnDestroy(){

EasyTouch.On_TouchStart -= On_TouchStart;

}

// Touch start event

publicvoidOn_TouchStart(Gesture gesture){

Debug.Log("Touch in "+ gesture.position);

}

7-Create an empty gameObject, and name it Receiver.

8- Add MyFirstTouch script to the gameObject Receiver.

9- Run it in editor, and click on the screen

2.翻译一下以上的步骤

1.import“EasyTouch”资源包

2.创建空物体,命名为EasyTouch(当然你也可以改成其他名字)

3.添加EasyTouch.cs脚本在刚刚创建的空物体(EasyTouch)上

4.选择改物体但不要将BroadcastMessages勾选

5.创建一个新的C#脚本,命名MyFirstTouch

6.添加这些方法

7.再创建一个空物体,命名为Receiver

8.将MyFirstTouch脚本添加到空物体Receiver上

9.运行并且点击遥感,会发现控制台打印了当前按下的坐标

3.根据官方的这些提示,自己来做一个属于自己的人物遥感控制

1.导入EasyTouch3资源包

2.做好前期准备,包括人物模型、地形的创建

3.添加JoyStick实例:Hedgehog Team->Easy Touch->Extensions->Add a new Joystick。此时就会在左下角创建了虚拟遥感的实例。

4.设置遥感的相关参数

5.创建脚本MoveController.cs用来接收遥感事件控制角色的移动

[csharp]view plaincopyprint?

usingUnityEngine;

usingSystem.Collections;

publicclassMoveController : MonoBehaviour {

voidOnEnable()

{

EasyJoystick.On_JoystickMove += OnJoystickMove;

EasyJoystick.On_JoystickMoveEnd += OnJoystickMoveEnd;

}

//移动摇杆结束

voidOnJoystickMoveEnd(MovingJoystick move)

{

//停止时,角色恢复idle

if(move.joystickName =="MoveJoystick")

{

animation.CrossFade("idle");

}

}

//移动摇杆中

voidOnJoystickMove(MovingJoystick move)

{

if(move.joystickName !="MoveJoystick")

{

return;

}

//获取摇杆中心偏移的坐标

floatjoyPositionX = move.joystickAxis.x;

floatjoyPositionY = move.joystickAxis.y;

if(joyPositionY != 0 || joyPositionX != 0)

{

//设置角色的朝向(朝向当前坐标+摇杆偏移量)

transform.LookAt(newVector3(transform.position.x + joyPositionX, transform.position.y, transform.position.z + joyPositionY));

//移动玩家的位置(按朝向位置移动)

transform.Translate(Vector3.forward * Time.deltaTime * 5);

//播放奔跑动画

animation.CrossFade("run");

}

}

}

几个函数的执行顺序:

6.效果图

7.创建点击按钮

点击HedgehogTeam->EasyTouch->Extensions->Create a new Button,会在屏幕右下角创建一个button

如何让有下角的按钮点击能做出我们想要的效果呢?

jump方法:

然后点击一下按钮,人物就会跳跃动作!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • EasyTouch是android系统的辅助操控工具(类似iPhone AssistiveTouch),EasyT...
    _凉笙阅读 7,595评论 0 1
  • 一、EasyTouch插件介绍 EasyTouch4.3版本开始已经支持UGUI,所以unity版本低于4.6的话...
    胤醚貔貅阅读 9,810评论 0 1
  • UIBezierPath Class Reference 译:UIBezierPath类封装了Core Graph...
    鋼鉄侠阅读 5,819评论 0 3
  • 漫步上海街头,最能淹没人的是房产中介和教育机构的广告,房产中介和教育机构的门面店到处都是,甚至比多伦多的教堂和图书...
    AliyahChen阅读 2,707评论 0 0
  • 看淡风云 一路随心 梦里花落何安静 风吹落叶 雪飘漫天 佳期如梦梦难圆 君心我心 此情此景 如何爱在春天里 嚷着命...
    微风的自由阅读 1,618评论 4 5