Unity3D EasyTouch JoyStick控制小黃人的移動

利用EasyTouch中的 JoyStick控制小黃人的移動
如下圖所示:

實例截圖1
實例截圖2

掛載在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); //移動
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章