unity中实现物体的拖拽到指定位置的功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity中实现物体的拖拽到指定位置的功能相关的知识,希望对你有一定的参考价值。
unity中实现鼠标点击生成物体a(a物体是20个中的任意一个),再次点击生成物体b(b物体也是20个中的任意一个),然后实现鼠标拖拽b到a的位置 小于一定距离时自动吸附到a上 类似于三维软件中的捕捉功能 求C#代码 思路也可以
实现方式如下:
先确保物体a、b都有碰撞器。
点击鼠标首先判断是否生成过物体a,如果未生成过则生成a,否则继续判断是否生成过物体b。
当物体a和b都生成了之后。然后在在Update函数中调用Input.getmousebuttondown,由相机向鼠标点击处发射射线,判断是否选中了物体b。
由Input.getmousebutton获取持续拖动状态并移动物体b,然后判断Input.getmousebuttonup判断结束点位置是否足够贴近物体a,是则将物体b放置物体a位置即可。
点击鼠标首先判断是否生成过物体a,如果未生成过则生成a,否则继续判断是否生成过物体b。
当物体a和b都生成了之后
然后在在Update函数中调用Input.getmousebuttondown,由相机向鼠标点击处发射射线,判断是否选中了物体b,由Input.getmousebutton获取持续拖动状态并移动物体b,然后判断Input.getmousebuttonup判断结束点位置是否足够贴近物体a,是则将物体b放置物体a位置追问
不需要用到数组吗 起初单个已知的物体实现了 但是a和b都是随机的 把我搞蒙了 以为需要加入数组
追答你可以用数组存一个物体a的序列然后随机取出一个就行了啊
这个没什么影响的
以上是关于unity中实现物体的拖拽到指定位置的功能的主要内容,如果未能解决你的问题,请参考以下文章
openlayers中实现点的拖拽(modify),在layer中增加修改删除point。