标签:
private Vector3 lastPos = Vector3.zero;
private bool isTouch;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
//判断鼠标是否在点击状态
if(Input.GetMouseButtonDown (0)){
isTouch = true;
}
if(Input.GetMouseButtonUp(0)){
isTouch = false;
//择鼠标时将lastpos清零
lastPos = Vector3.zero;
}
//在点击状态,物体随鼠标移动
if(isTouch){
//参照物屏幕坐标。
Vector3 screenPos = Camera.main.WorldToScreenPoint(transform.position);
if(lastPos != Vector3.zero) {
//拖拽处理
//一帧内鼠标偏移坐标
Vector3 offsetPos = Camera.main.ScreenToWorldPoint (new Vector3(Input.mousePosition.x,
Input.mousePosition.y,
screenPos.z)) - lastPos ;
transform.position += offsetPos;
}
//记录上一帧坐标
lastPos = Camera.main.ScreenToWorldPoint (new Vector3(Input.mousePosition.x,Input.mousePosition.y,
screenPos.z)); //转换为世界坐标
}
}
}
标签:
原文地址:http://www.cnblogs.com/zhuzhuxiaxf/p/4744230.html