利用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); //移動
}
}
}