【问题标题】:Unity UI button not reacting to clicks or hoveringUnity UI 按钮对点击或悬停没有反应
【发布时间】:2016-11-28 07:17:25
【问题描述】:

我正在使用 Unity 3D 的新 UI 系统为我的游戏构建暂停菜单。目前我正试图让我的按钮响应鼠标点击。我的一些层次结构如下:

当我在游戏中单击我的一个按钮时,没有任何反应,这包括缺少悬停时应该出现的按钮动画。我的“主画布”游戏对象包含以下组件:

我已经确保我的 Image 组件选中了“Raycast target”并且我的 Button 组件选中了“Interactable”。

这可能是因为我的 Canvas 的渲染模式是在屏幕空间(相机)中吗?我需要将渲染模式设置为此,因为我在游戏过程中在 UI 前面添加了 3D 模型。

我已经尝试/检查过的事情:

  • 确保存在 EventSystem
  • 检查了另一个 UI 元素没有覆盖按钮,从而阻止了光线投射
  • 确保渲染 UI 的摄像头位于连接到播放器的主摄像头上方。渲染 UI 相机的图层为 1,而玩家相机的图层为 0。

【问题讨论】:

  • 什么是菜单和什么是菜单项?它们也是按钮吗?
  • Menu 只是一个空的游戏对象,用于组织“菜单项”和“完成”。 “菜单项”包含组织三个菜单项的垂直布局组组件。这是“菜单项”游戏对象的图像:vgy.me/zBKOg1.png
  • 如果不访问您的场景,这将很难解决。可能是任何阻碍按钮的东西。这是什么Unity版本?你能把场景上传到某个网站然后链接到这里吗……我自己去看看。
  • 我正在使用 Unity 5.4.0b21,它是 beta 版(虽然不是最近发布的 beta 版)。我不得不使用它,因为其中修复了一个严重错误。我很乐意上传场景,但使用所使用的资产将是数 GB 的下载量。仅上传 .unity 文件可能无法提供足够的信息,对吗?
  • 好的。会看看。

标签: unity3d


【解决方案1】:

您的 EventSystem GameObject 缺少 Standalone Input Module 脚本组件。

选择您的EventSystem->添加组件 ->Standalone Input Module。完成!

下面的 gif 描述了两种方法。

【讨论】:

  • 你太慷慨了,程序员。奇怪的是,它不见了。 OP,您所做的就是单击“添加画布”,然后单击“添加按钮”。不要“愚弄”任何东西,一切都会奏效。
  • @JoeBlow 是的,我知道。奇怪的是,他一开始就失踪了。它通常在创建 Canvas 或任何 UI 组件时自动创建。
  • 奇怪,我之前添加了它,但没有任何区别。一旦我在我的电脑前,我会在几分钟内尝试一下。我还将检查缩放问题@JoeBlow。谢谢!
  • 哈!你看一下,按钮现在正在工作。 @Programmer 我最初拥有独立输入模块,但在发送此问题以进行测试之前将其删除。我认为可能是 UI 缩放模式搞砸了。无论如何,您提供了巨大的帮助,非常感谢您!
【解决方案2】:

如果这里有人遇到此问题并且这些修复都不起作用,请转到编辑 > 项目设置 > 输入,然后在检查器选项卡中单击右上角的小齿轮图标,然后单击重置。这应该可以修复您的所有按钮!

【讨论】:

    【解决方案3】:

    确保 EventSystem 组件存在于层次结构中。如果没有 EventSystem,unity 将无法跟踪特定场景中发生的任何事件

    【讨论】:

      【解决方案4】:

      @Programmer 提供的解决方案对我有用。确保您的按钮检查器中有 EventSystem 组件。奇怪的是,我也缺少这个!

      enter image description here

      【讨论】:

      【解决方案5】:

      尝试更改画布中的短顺序。也许按钮画布被另一个画布挡住了。

      【讨论】:

        【解决方案6】:

        如果这里有人遇到这个问题并且这些修复都不起作用:

        在 Hierarchy 中选择您的 按钮 -> 在 Inspector 中找到“Canvas” -> 删除 IT(删除组件)!

        【讨论】:

          【解决方案7】:

          对我来说,这是因为按钮被 Canvas 中的其他组件覆盖。我改变了将按钮放在校园的最前面,现在可以使用了

          【讨论】:

            猜你喜欢
            • 2021-03-03
            • 2019-01-14
            • 1970-01-01
            • 2019-09-08
            • 2019-08-02
            • 2019-06-18
            • 1970-01-01
            • 2018-04-13
            • 2022-01-07
            相关资源
            最近更新 更多