unity中无法实现拖拽
Unityv5.6.2f1(mac)版本创建的材质球无法拖拽到物体或者hierarchy的cube上只能在cube下的elements中才能实现虽然上材质是可以解决但是还...
Unity v5.6.2f1(mac)版本创建的材质球无法拖拽到物体或者hierarchy的cube上 只能在cube下的elements中才能实现虽然上材质是可以解决但是还是无法拖拽create empty的时候 还是需要拖拽物体到他的层级底下总之就是 project、hierarchy中都没有办法实现拖拽 (选中物体时可以移动的)大概报错见图一图二大神快教教我怎么解决我是个刚玩unity两小时不会编程的小白
不知道说清楚了没有(哭唧唧 展开
不知道说清楚了没有(哭唧唧 展开
2个回答
2018-06-18 · 知道合伙人互联网行家
关注
展开全部
可以用Unity射线判断,也可以用其他插件仿照例子去做,例如:fingergesture 、easytouch 插件。
123456789101112131415161718192021222324252627// 目前鼠标点击和手指拖拽的点击是通用的,代码在这里,你可以试试。 IEnumerator OnMouseDown() { Vector3 ScreenSpace = Camera.main.WorldToScreenPoint(transform.position); Vector3 offset = transform.position-Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,Input.mousePosition.y,ScreenSpace.z)); Debug.Log("down"); //当鼠标左键按下时 while(Input.GetMouseButton(0)) { //得到现在鼠标的2维坐标系位置 Vector3 curScreenSpace = new Vector3(Input.mousePosition.x,Input.mousePosition.y,ScreenSpace.z); //将当前鼠标的2维位置转化成三维的位置,再加上鼠标的移动量 Vector3 CurPosition = Camera.main.ScreenToWorldPoint(curScreenSpace)+offset; //CurPosition就是物体应该的移动向量赋给transform的position属性 transform.position = CurPosition; //这个很主要 yield return new WaitForFixedUpdate(); } }
123456789101112131415161718192021222324252627// 目前鼠标点击和手指拖拽的点击是通用的,代码在这里,你可以试试。 IEnumerator OnMouseDown() { Vector3 ScreenSpace = Camera.main.WorldToScreenPoint(transform.position); Vector3 offset = transform.position-Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,Input.mousePosition.y,ScreenSpace.z)); Debug.Log("down"); //当鼠标左键按下时 while(Input.GetMouseButton(0)) { //得到现在鼠标的2维坐标系位置 Vector3 curScreenSpace = new Vector3(Input.mousePosition.x,Input.mousePosition.y,ScreenSpace.z); //将当前鼠标的2维位置转化成三维的位置,再加上鼠标的移动量 Vector3 CurPosition = Camera.main.ScreenToWorldPoint(curScreenSpace)+offset; //CurPosition就是物体应该的移动向量赋给transform的position属性 transform.position = CurPosition; //这个很主要 yield return new WaitForFixedUpdate(); } }
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询