原创内容,转载请注明原文网址:http://homeqin.cn/a/wenzhangboke/jishutiandi/youxikaifa/2018/1013/73.html
常州游戏开发培训幻天网络主要给大家分享使用EasyTouch中的JoyStick控制角色的移动,下面以控制小黄人的移动为例给大家做介绍。
如下图所示:


挂载在EasyTouch上的ControlWithEasyTouch脚本:
using UnityEngine;
using System.Collections;
public class ControlWithEasyTouch : MonoBehaviour {
#region variable
public EasyJoystick myJoy;
public Transform littleY;
public float moveSpeed = 2.0f;
#endregion
void Update () {
ControlMove();
}
/// <summary>
/// Controls the gameobject move.
/// </summary>
void ControlMove() {
float moveX = myJoy.JoystickTouch.x;
float moveZ = myJoy.JoystickTouch.y;
Vector3 dir = new Vector3(moveX, 0, moveZ).normalized;//找到方向并把方向归一化
if (moveX != 0f || moveZ != 0f) {
//Debug.Log(moveX+"----------"+moveZ);
//转向方法一:
//littleY.LookAt(littleY.position + dir);
//转向方法二:
Quaternion wantRotation = Quaternion.LookRotation(dir);
Quaternion dumpRotation = Quaternion.Lerp(littleY.rotation, wantRotation, 10f * Time.deltaTime);
littleY.localRotation = dumpRotation;
//改变游戏角色对象的方向
littleY.Translate(Vector3.back * moveSpeed * Time.deltaTime); //移动
}
}
}
上篇:上一篇:Unity读取txt文本内容的方法
下篇:下一篇:UGUI下拉列表的封装