加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Unity3D——点击选择物体并根据滑动移动物体

(2013-07-08 22:39:27)
分类: Unity3D
void Update()
{
   //有触摸事件发生继续
   if(Input.touchCount > 0
   {
       //获取第一个触摸事件
       Touch th = Input.GetTouch(0);
       //判断为触摸开始
       if (th.phase == TouchPhase.Began
       {
           //获取触摸点生成射线
           Ray ray = Camera.main.ScreenPointToRay(new Vector3(th.position.x, th.position.y, 0));
           RaycastHit hit;
           if(Physics.Raycast(ray, out hit, 1000))
           {
               //得到射线碰到的物体,即触摸时应该选中的物体
               GameObject obj = hit.transform.gameObject;
               //如果选中的是本物体
               if(obj.Equals(gameObject))
               {
                   IsSelected = true;
                   gameObject.SetActive(true);
               }
           }
       }
       //判断为移动
       if (th.phase == TouchPhase.Moved && IsSelected
       {
           //移动本物体
           Vector3 position_Move = new Vector3(th.deltaPosition.x, 0, th.deltaPosition.y* 10;
           transform.position += position_Move;
       }
       //判断为触摸结束
       if(th.phase == TouchPhase.Ended && IsSelected
       {
           IsSelected = false;
           gameObject.SetActive(false);
       }
   }
}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有