码迷,mamicode.com
首页 > 移动开发 > 详细

Unity3d C# 物体随物体移动的简单方法

时间:2015-08-20 10:21:27      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:

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)); //转换为世界坐标
   
  }
 }
}

Unity3d C# 物体随物体移动的简单方法

标签:

原文地址:http://www.cnblogs.com/zhuzhuxiaxf/p/4744230.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!