#pragma strict //支持中文 function Start () { } function Update () { } function OnMouseDown () { var screenSpace = Camera.main.WorldToScreenPoint(transform.position);//三维物体坐标转屏幕坐标 //将鼠标屏幕坐标转为三维坐标,再算出物体位置与鼠标之间的距离 var offset = transform.position - Camera.main.ScreenToWorldPoint(Vector3(Input.mousePosition.x, Input.mousePosition.y, screenSpace.z)); while (Input.GetMouseButton(0)) { var curScreenSpace = Vector3(Input.mousePosition.x, Input.mousePosition.y, screenSpace.z); var curPosition = Camera.main.ScreenToWorldPoint(curScreenSpace) + offset; transform.position = curPosition; //transform.position.x = curPosition.x; //transform.position.z = curPosition.z; //world.y=transform.position.y; //if(transform.localPosition.y<-3){//火焰不能在地面以下 // transform.localPosition.y=-3; //} yield;//这个很重要,循环执行 } }