Unity3D控件Easytouch控制主角移动
在Unity3D游戏开发中,控制主角的移动是一项非常重要的功能,而使用Easytouch控件可以使得开发过程变得更加简洁易行。下面我们将详细介绍如何使用Easytouch控件控制主角的移动。
Easytouch控件简介
Easytouch是一款功能强大且易于使用的Unity3D控件,主要用于处理触摸输入和 joystick输入。它提供了多种控件,例如按钮、滑块、摇杆等,可以满足不同游戏类型的需求。
Easytouch控件的优点
1. 易于使用:Easytouch控件提供了简单易用的 API,开发者可以轻松地将其集成到项目中。
2. 高度自定义:Easytouch控件提供了多种控件,可以满足不同游戏类型的需求。
3. 多平台支持:Easytouch控件支持多种平台,包括iOS、Android、Windows等。
使用Easytouch控件控制主角移动
下面我们将详细介绍如何使用Easytouch控件控制主角的移动。
步骤1:导入Charactor Controller资源包
需要导入Charactor Controller资源包,该资源包提供了角色控制器的基本功能。
步骤2:导入Easy Touch 3.1.0的资源包
需要导入Easy Touch 3.1.0的资源包,该资源包提供了Easytouch控件的基本功能。
步骤3:创建一个人物模型
创建一个人物模型,用于表示游戏中的主角。
步骤4:新建一个Plane作为地板
创建一个Plane作为地板,用于提供角色移动的基础。
步骤5:新建一个joystick
创建一个joystick,用于控制主角的移动。
步骤6:设置摇杆的相关属性
设置摇杆的相关属性,例如摇杆的名称、摇杆的中心偏移量等。
步骤7:为主角新建一个脚本MoveController
为主角新建一个脚本MoveController,用于接收摇杆的事件,控制主角的移动。
MoveController脚本的实现
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");
}
}
}
通过上述步骤,我们可以使用Easytouch控件控制主角的移动,实现了游戏中的基本功能。