using UnityEngine; using System.Collections;public class hero : MonoBehaviour {private bool isMouseDown = false;private Vector3 lastMousePosition=Vector3.zero;void Update () {PlayerControler();}public void PlayerControler(){//将像素位置转换成世界坐标轴的位置//Camera.main.ScreenToWorldPoint(Input.mousePosition);//检测鼠标是否按下if (Input.GetMouseButtonDown(0)){isMouseDown = true;print(isMouseDown);}if (Input.GetMouseButtonUp(0)){isMouseDown = false;lastMousePosition=Vector3.zero;//将最后一次点击的位置清零 }if (isMouseDown){if (lastMousePosition!=Vector3.zero){//得到点击位置与飞机停留位置的偏移值Vector3 offset = Camera.main.ScreenToWorldPoint(Input.mousePosition) - lastMousePosition;//当前脚本所挂载的物体的位置就等于偏移值+原先停留的位置实现移动transform.position = offset +transfom.position;}//让停留位置等于点击位置lastMousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);print(lastMousePosition);CheckPosition();}}//检测物体边界的方法public void CheckPosition(){Vector3 pos=transform.position;float x = pos.x;float y = pos.y;if (x<=-2.8f){x = -2.8f;}if (x >= 2.8f){x = 2.8f;}if (y <= -5.1f){y = -5.1f;}if (y >= 5.1f){y = 5.1f;}transform.position=new Vector3(x,y,0);} }