Unity插件——EasyTouch的使用

对于移动平台上的RPG类的游戏,我们常用虚拟摇杆来控制人物角色的行走和一些行为,那么今天我将对我前段时间学习EasyTouch这个插件制作摇杆做一下总结。当然网上有很多关于EasyTouch的教程,我这里只是对自己的学习做一个备忘录。

1、以下是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.运行并且点击遥感,会发现控制台打印了当前按下的坐标

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

    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按钮添加方法类似。


猜你喜欢

转载自blog.csdn.net/u014086857/article/details/52087379