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;
}
}
}