Unity 之 UGUI Button 点击无响应问题汇总

举报
陈言必行 发表于 2021/08/13 23:08:02 2021/08/13
【摘要】 近日开发遇到了的问题,,,Unity UGUI Button 点击不响应,,, 解决方法: 1, 查看所在的场景是否存在EventSystem,,若不存在那么当然检测不到了,这个物体时创建UI时Unity自动为我们创建的所以有时候会忽略 2,对按钮的坐标轴做了旋转,,, (我遇到的问题,为了使其图片箭头朝向想要的方向,将其Y轴做了旋转,解决方案通过旋转Z轴...

近日开发遇到了的问题,,,Unity UGUI Button 点击不响应,,,

解决方法:

1, 查看所在的场景是否存在EventSystem,,若不存在那么当然检测不到了,这个物体时创建UI时Unity自动为我们创建的所以有时候会忽略
1


2,对按钮的坐标轴做了旋转,,,
2
(我遇到的问题,为了使其图片箭头朝向想要的方向,将其Y轴做了旋转,解决方案通过旋转Z轴得到自己想要的朝向,不对Y轴进行旋转),,当对Y轴旋转之后,使得按钮背面朝向我们(即点击方向),所以,触发不到按钮。 或者不对按钮进行旋转,将其某个轴的scale由1改为-1,也可以达到旋转的效果。


3, 查看按钮上的是否存在其他UI,把按钮遮盖住了,,,使用Button 的时候,点击上去默认是有明暗变化的,使用EventTrigger时,点击是没有明显效果的,可以打断点或者Debug输出一下,已查看效果…


4, 按钮的Target graphic属性没有赋值,这个属性必须赋值。可以在按钮物体上添加一个Text组件或者Image组件来作为按钮的Target graphic。
4


5, 按钮上注册的点击事件脚本丢失,,,或者在代码了写的注册事件没有被执行…
在这里插入图片描述


6, 在Canvas下有个Graphic Raycaster 的 Ignore Reversed Graphics这个选项,
6
当然这个选项默认是勾选的,不接受反向点击,为点击时检测的性能考虑.所以这种情况下,还是要靠做界面时留心下旋转.不建议关闭这个开关后面试了下,哪怕把这个勾关掉,如果我旋转90度自然也是无法接受点击的,看了下相关源码,是按这个Gameobject的Vector3.forward去算的.所以还是要小心当然可以考虑写一个脚本,检测这种forward是不是面向屏幕的,并校正一般来说,没有可点击的物体是背对屏幕或者是90度旋转的吧.


7,若场景中存在多个Canvas,则是被其他Canvas覆盖了,若是Screen Space - Overlay就将Sort Order 调大一点
7.1
若是Screen Space - Camera 就对下图位置的层级关系做调整就可以了…
7.2


8.评论区补充:
如果button的某个active父物体挂载有Canvas Group 如果Canvas Group 的block raycast 或者 interactable没有勾选,则button也会不响应点击
8.1


学习UGUI系列文章目录:

文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。

原文链接:czhenya.blog.csdn.net/article/details/84575011

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。