• QQ
  • nahooten@sina.com
  • 常州市九洲新世界花苑15-2

游戏开发

U3D EasyTouch JoyStick控制角色的移动

原创内容,转载请注明原文网址: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下拉列表的封装