在unity3d中用鼠标移动物体控制每步移动的距离

类似红色警戒建房子的时候用鼠标拖动模型模型是按照每个方块的大小移动的给个控制移动的代码... 类似红色警戒 建房子的时候 用鼠标拖动模型 模型是按照每个方块的大小移动的
给个控制移动 的代码
展开
 我来答
黎卓心
2013-12-26 · TA获得超过116个赞
知道小有建树答主
回答量:101
采纳率:0%
帮助的人:57万
展开全部
1.如果你的方块是存在的多个cube,那么将模型跟随鼠标,模型上用射线,射线碰到的方块改变下(如颜色变暗等)
2.画多个cube,整齐排列,编名,去掉meshrender属性(不渲染),相当于画网格,比较好理解
3.用二维数组来判断范围是麻烦的事(主要是求整),简单的做法是电脑获得模型的原始坐标(比如模型的中心点),鼠标即时坐标的x值(和y值)减去原始坐标后的绝对值等于方块的边长时以即时坐标为中心显示方块(或干点别的,比如:没到目标地显示方块,到目标地显示模型),再把这个即时坐标作为原始坐标进行下一步判断
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1c0b92e
2013-12-26 · TA获得超过144个赞
知道小有建树答主
回答量:546
采纳率:0%
帮助的人:255万
展开全部
跟每步移动的距离没关系,只要设置房子跟随鼠标移动就行了。至于下面的方块发不发光是通过判断周围是否有障碍物实现。最好就是在房子下面做些格子与房子一起跟随鼠标移动,这些格子碰到其他障碍物就不显示,然后当所有格子都显示的情况就可以建房子了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ming7300
2013-12-25
知道答主
回答量:27
采纳率:0%
帮助的人:17.5万
展开全部
这玩意没法给代码
原理是判断地图数组,鼠标射线与地图的接触点在哪个格子里,就把模型显示在哪个格子里
追问
那是不是要在 地图上画网格? 这个要怎么画?
追答
你可以无视自带的地形,用一个二维数组来做格子
射线碰撞会有x,y的数字,在二维数组里判断是哪个格子,略增或略减之后再以x,y来显示模型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式