Unity当鼠标点击空白区域,按钮的选中状态消失问题

如题2个解决办法

方法一

总结:使用新输入系统EventSystem直接有这个选项,取消勾选
具体操作:新的输入系统通过包管理安装在这里插入图片描述
安装完毕会提示你是否使用新的输入系统,选择是Yes,然后项目重新加载
(或者手动把工程设置里的player里把输入系统修改为新的,或者2个都用)
在这里插入图片描述
然后在EventSystem把图中的选项勾上取消勾选
在这里插入图片描述
官方说明
在这里插入图片描述

备注:写给萌新,不知道EventSystem在哪?直接场景中搜索t:EventSystem(加上t:直接搜索类型,防止改名),如果没有你就连UI都没有,就根本用不着右键新建UI/EventSystem就出现在这里插入图片描述
这是旧版然后你安装了新的输入系统,提示你要不要切换成新版,点击切换然后就可以勾选上了

方法二

总结:旧的输入系统在EventSystem上的StandaloneInputModule代码中的591行

DeselectIfSelectionChanged(currentOverGo, pointerEvent);

注释掉代码可以让点击鼠标无法取消选择的对象推荐新建一个脚本,然后把代码复制进去,移除StandaloneInputModule脚本添加新建脚本,因为脚本源码在Library里的。

具体操作:新建代码MyInputModule,(自己定义的名称随意)把StandaloneInputModule的全部代码赋值到MyInputModule里,记得把类名StandaloneInputModule变成MyInputModule,然后把591行的DeselectIfSelectionChanged(currentOverGo, pointerEvent);删除,
最后把EventSystem上的StandaloneInputModule移除换成MyInputModule

猜你喜欢

转载自blog.csdn.net/qq_17765359/article/details/125065425