Game面板实现鼠标拖拽物体
admin
2023-03-15 12:01:11
0

大家都知道在Unity 场景面板(Scene面板)可以实现拖拽物体。具体操作步骤是变换工具栏选择“手”的拖拽工具(或者快捷键“Q”)之后,直接用鼠标左键按住竟可以实现拖拽物体。当然这样的效果实际上并不是实现了拖拽物体,因为物体的位置是没有变化的。它实际上就是移动我们的当前场景,看起来在拖拽物体似的。如图:

Game面板实现鼠标拖拽物体

那我们现在想要实现在Game面板实现鼠标拖拽物体应该如何实现?其实代码很简单。直接上图:

Game面板实现鼠标拖拽物体

如图,我们将该脚本挂在想要拖拽的物体上(必须挂在要被拖拽的物体上才能实现)。然后点击运行后,将鼠标指针放到该物上,按住左键即可实现。如图:

 

Game面板实现鼠标拖拽物体Game面板实现鼠标拖拽物体

主要方法是用了协同函数。OnMouseDown()是一个鼠标触发的回调函数。不用调取该方法即可实现。所以没有写开启协同。

该方法在鼠标指针在该物体上按下时即可触发一次。然后我们需要求出鼠标位置和被拖拽的物体之间的距离,这样拖拽时只要保持两者距离不变即可。又因为鼠标在屏幕坐标系,物体在世界坐标系。所以需要两者之间的转换。都转成世界坐标系之后进而求出两者之间的距离(具体细节图片注释均已指出)。

while循环当鼠标按下时即进入,因为一直按住,bool值永远为true,但由于协同,每一帧都要跳出该函数,所以不会出现死循环。最后是等待FixedUpdate()函数。这个直接写yield  return null也是可以实现的。目的只是跳出该协同,然后下一帧再进入。

这就是简单的实现鼠标拖拽物体了。


相关内容

热门资讯

终于懂了“十三十三水.怎么装挂... 家人们!今天小编来为大家解答十三十三水透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里买...
玩家分享攻略“金满地.辅助器?... 家人们!今天小编来为大家解答金满地透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买很多...
终于了解“炫龙炸金花.有没有挂... 家人们!今天小编来为大家解答炫龙炸金花透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里买...
今日重大消息“新道游拼三张.怎... 家人们!今天小编来为大家解答新道游拼三张透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里...
老挝湄公河渡船触礁侧翻,船上有... 当地时间12月18日,老挝湄公河发生船难。一艘载客渡船在航行途中不慎撞上礁石并进水下沉,乘客被迫紧急...
终于懂了“全民牛牛.辅助器?”... 家人们!今天小编来为大家解答全民牛牛透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买很...
黄子佼二审获缓刑,台“高检署”... 【环球网报道】据台湾“中央社”12月24日报道,台湾艺人黄子佼涉嫌购买少年儿童性影像,台湾“高等法院...
玩家攻略科普“至尊麻将.怎么开... 家人们!今天小编来为大家解答至尊麻将透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买很...
今日重大消息“新九方炸金花.到... 有 亲,根据资深记者爆料新九方炸金花是可以开挂的,确实有挂(咨询软件无需...
重磅消息“九线拉王.是不是有挂... 网上科普关于“九线拉王有没有挂”话题很是火热,小编也是针对九线拉王作*弊开挂的方法以及开挂对应的知识...