Unity插件—EasyTouch使用教程
发表于2017-11-16
对于移动平台上的RPG类的游戏,我们常用虚拟摇杆来控制人物角色的行走和一些行为,而这些操作都是基于EasyTouch这个插件制作的,虽然网上也有很多关于EasyTouch的教程,但知识都比较零散,为此,下面就给大家全面性的去介绍EasyTouch插件的使用,希望对大家有用。
一、EasyTouch插件的使用步骤:
1.import“EasyTouch”资源包
2.创建空物体,命名为EasyTouch(当然你也可以改成其他名字)
3.添加EasyTouch.cs脚本在刚刚创建的空物体(EasyTouch)上
4.选择改物体但不要将BroadcastMessages勾选
5.创建一个新的C#脚本,命名MyFirstTouch,然后添加以下方法
// 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 public void On_TouchStart(Gesture gesture){ Debug.Log( "Touch in " + gesture.position); }
6.再创建一个空物体,命名为Receiver
7.将MyFirstTouch脚本添加到空物体Receiver上
8.运行并且点击遥感,会发现控制台打印了当前按下的坐标
二、根据官方的这些提示,自己来做一个属于自己的人物遥感控制
1.导入EasyTouch3资源包
2.做好前期准备,包括人物模型、地形的创建
3.添加JoyStick实例:HedgehogTeam->EasyTouch->Extensions->Add a new Joystick。此时就会在左下角创建虚拟遥感实例
5 .创建脚本MoveController.cs用来接收遥感事件控制角色的移动
using UnityEngine; using System.Collections; public class 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"); } } }
6.创建点击按钮
点击HedgehogTeam->EasyTouch->Extensions->Create a new Button,会在屏幕右下角创建一个button
然后调节面板参数:
代码添加跟Unity中Button按钮添加方法类似。