// 调用Unity的鼠标拖拽函数
IEnumerator OnMouseDrag()
{
// 获取目标对象当前的世界坐标系位置,并将其转换为屏幕坐标系的点
Vector3 Pos = Camera.main.WorldToScreenPoint(transform.position);
// 设置鼠标的屏幕坐标向量,用上面获得的Pos的z轴数据作为鼠标的z轴数据,使鼠标坐标
// 与目标对象坐标处于同一层面上
Vector3 mousePos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, Pos.z);
// 用上面获取到的鼠标坐标转换为世界坐标系的点,并用其设置目标对象的当前位置
transform.position = Camera.main.ScreenToWorldPoint(mousePos);
// 等待下一帧对数据进行更新,实现目标对象的位移
yield return new WaitForFixedUpdate();
}




using UnityEngine;
using System.Collections;

public class test : MonoBehaviour {

// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

}

//void OnMouseEnter()
//{
// print("当鼠标进入到GUIElement(GUI元素)或Collider(碰撞体)中时调用OnMouseEnter。");
//}

//void OnMouseOver()
//{
// print("当鼠标悬浮在GUIElement(GUI元素)或Collider(碰撞体)上时调用 OnMouseOver .");
//}

//void OnMouseExit()
//{
// print("当鼠标移出GUIElement(GUI元素)或Collider(碰撞体)上时调用OnMouseExit。");
//}

//void OnMouseDown()
//{
// print("当鼠标在GUIElement(GUI元素)或Collider(碰撞体)上点击时调用OnMouseDown。");
//}

//void OnMouseUp()
//{
// print("当用户释放鼠标按钮时调用OnMouseUp。");
//}

//void OnMouseUpAsButton()
//{
// print("OnMouseUpAsButton只有当鼠标在同一个GUIElement或Collider按下,在释放时调用。");
//}

void OnMouseDrag()
{
Vector3 pos = Camera.main.WorldToScreenPoint(transform.position); // // 获取目标对象当前的世界坐标系位置,并将其转换为屏幕坐标系的点
// 设置鼠标的屏幕坐标向量,用上面获得的Pos的z轴数据作为鼠标的z轴数据,使鼠标坐标 // 与目标对象坐标处于同一层面上
Vector3 mousePos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, pos.z);
// 用上面获取到的鼠标坐标转换为世界坐标系的点,并用其设置目标对象的当前位置
transform.position = Camera.main.ScreenToWorldPoint(mousePos);
}

}