http://www.taikr.com/group/6/thread/1987
说一说easytouch的简单使用方法,和移动平台上的rpg游戏一样,我们肯定也不陌生,我们经常玩游戏的时候用的都是虚拟摇杆来控制人物的行动和走动,我就简单说下unity3d easytouch教程中的easytouch怎么使用的。
一、效果图
![unity3d easytouch教程 unity3d easytouch教程](https://i-blog.csdnimg.cn/blog_migrate/aa5eef427ba20bd58c2313a7a90a84db.jpeg)
感觉很酷有木有!接下来就看一下创建的过程吧!
二、操作步骤
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 menu
![unity3d easytouch教程 unity3d easytouch教程](https://i-blog.csdnimg.cn/blog_migrate/f0668ddc527651debc38f5162d1102e3.jpeg)
3-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
-
// Subscribe to events
-
void OnEnable(){
-
EasyTouch.On_TouchStart += On_TouchStart;
-
}
-
// Unsubscribe
-
void OnDisable(){
-
EasyTouch.On_TouchStart -= On_TouchStart;
-
}
-
// Unsubscribe
-
void OnDestroy(){
-
EasyTouch.On_TouchStart -= On_TouchStart;
-
}
-
// Touch start event
-
publicvoid On_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用来接收遥感事件控制角色的移动
-
using UnityEngine;
-
using System.Collections;
-
-
publicclass MoveController : MonoBehaviour {
-
-
void OnEnable()
-
{
-
EasyJoystick.On_JoystickMove += OnJoystickMove;
-
EasyJoystick.On_JoystickMoveEnd += OnJoystickMoveEnd;
-
}
-
-
-
//移动摇杆结束
-
void OnJoystickMoveEnd(MovingJoystick move)
-
{
-
//停止时,角色恢复idle
-
if (move.joystickName =="MoveJoystick")
-
{
-
animation.CrossFade("idle");
-
}
-
}
-
-
-
//移动摇杆中
-
void OnJoystickMove(MovingJoystick move)
-
{
-
if (move.joystickName !="MoveJoystick")
-
{
-
return;
-
}
-
-
//获取摇杆中心偏移的坐标
-
float joyPositionX = move.joystickAxis.x;
-
float joyPositionY = move.joystickAxis.y;
-
-
-
if (joyPositionY != 0 || joyPositionX != 0)
-
{
-
//设置角色的朝向(朝向当前坐标+摇杆偏移量)
-
transform.LookAt(new Vector3(transform.position.x + joyPositionX, transform.position.y, transform.position.z + joyPositionY));
-
//移动玩家的位置(按朝向位置移动)
-
transform.Translate(Vector3.forward * Time.deltaTime * 5);
-
//播放奔跑动画
-
animation.CrossFade("run");
-
}
-
}
-
}
几个函数的执行顺序:
![unity3d easytouch教程 unity3d easytouch教程](https://i-blog.csdnimg.cn/blog_migrate/41d809b98d3e6024e9d204f48aaf4e66.jpeg)
6.效果图
7.创建点击按钮
点击HedgehogTeam->EasyTouch->Extensions->Create a new Button,会在屏幕右下角创建一个button
![unity3d easytouch教程 unity3d easytouch教程](https://i-blog.csdnimg.cn/blog_migrate/2ec071a88ef2d516d71048f47a03e7f4.jpeg)
如何让有下角的按钮点击能做出我们想要的效果呢?
jump方法: