Unity3D_角色界面人物旋轉展示

using UnityEngine;
using System.Collections;

public class GamePlayer : MonoBehaviour
{
     //是否被拖拽
     private bool onDrag = false;
     //旋轉速度
     public float speed = 6f;
     //阻尼速度
     private float zSpeed;
     //鼠標沿水平方向拖拽的增量
     private float X;
     //鼠標沿豎直方向拖拽的增量     
     //private float Y;
     //鼠標移動的距離
     private float mXY;

    //接受鼠標按下的事件
    void OnMouseDown()
    {           
        X = 0f;
        //Y = 0f;   
    }

    //鼠標拖拽時的操作
    void OnMouseDrag()     
    {
        Debug.Log("鼠標拖拽");
        onDrag = true;
        X = -Input.GetAxis("Mouse X"); 
        //獲得鼠標增量 
        //Y = Input.GetAxis ("Mouse Y"); 
        //mXY = Mathf.Sqrt (X * X + Y * Y);
        //計算鼠標移動的長度
        // if(mXY == 0f){ mXY=1f;         }     }  

        //計算鼠標移動的長度//
        mXY = Mathf.Sqrt (X * X); 
        if(mXY == 0f)
        { 
            mXY=1f;       
        }   
    }

        //獲取阻尼速度 
        float RiSpeed ()     
        { 
            if (onDrag)
            { 
                zSpeed = speed;    
            } 
            else
            { 
                //if (zSpeed> 0) 
                //{ 
                   //通過除以鼠標移動長度實現拖拽越長速度減緩越慢 
                   //  zSpeed -= speed*2 * Time.deltaTime / mXY; 
                //} 
                 //else 
                //{ 
                    zSpeed = 0;
                //}        
            } 
        return zSpeed;     
    }

    void LateUpdate()
    {
        transform.Rotate(new Vector3(0, X, 0) * RiSpeed(), Space.World);
        if (!Input.GetMouseButtonDown(0))
        {
            onDrag = false;
        }
    }

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章