unity中实现物体的拖拽到指定位置的功能

unity中实现鼠标点击生成物体a(a物体是20个中的任意一个),再次点击生成物体b(b物体也是20个中的任意一个),然后实现鼠标拖拽b到a的位置小于一定距离时自动吸附到... unity中实现鼠标点击生成物体a(a物体是20个中的任意一个),再次点击生成物体b(b物体也是20个中的任意一个),然后实现鼠标拖拽b到a的位置 小于一定距离时自动吸附到a上 类似于三维软件中的捕捉功能 求C#代码 思路也可以 展开
 我来答
shihoumacili
高粉答主

2016-02-02 · 每个回答都超有意思的
知道大有可为答主
回答量:1.1万
采纳率:87%
帮助的人:488万
展开全部

实现方式如下:

  1. 先确保物体a、b都有碰撞器。

  2. 点击鼠标首先判断是否生成过物体a,如果未生成过则生成a,否则继续判断是否生成过物体b。

  3. 当物体a和b都生成了之后。然后在在Update函数中调用Input.getmousebuttondown,由相机向鼠标点击处发射射线,判断是否选中了物体b。

  4. 由Input.getmousebutton获取持续拖动状态并移动物体b,然后判断Input.getmousebuttonup判断结束点位置是否足够贴近物体a,是则将物体b放置物体a位置即可。

一郎大神
推荐于2016-04-27 · TA获得超过1180个赞
知道小有建树答主
回答量:1033
采纳率:92%
帮助的人:316万
展开全部
先确保物体a、b都有碰撞器
点击鼠标首先判断是否生成过物体a,如果未生成过则生成a,否则继续判断是否生成过物体b。
当物体a和b都生成了之后
然后在在Update函数中调用Input.getmousebuttondown,由相机向鼠标点击处发射射线,判断是否选中了物体b,由Input.getmousebutton获取持续拖动状态并移动物体b,然后判断Input.getmousebuttonup判断结束点位置是否足够贴近物体a,是则将物体b放置物体a位置
追问
不需要用到数组吗 起初单个已知的物体实现了  但是a和b都是随机的 把我搞蒙了 以为需要加入数组
追答
你可以用数组存一个物体a的序列然后随机取出一个就行了啊
这个没什么影响的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式