【问题标题】:Unity UI Button not calling the Onclick methodUnity UI Button 未调用 Onclick 方法
【发布时间】:2016-07-28 15:32:51
【问题描述】:

我在画布下有一个按钮,可以重新启动场景。但它没有调用附加脚本的预期功能。

在 Unity 论坛上,我找到了一些解决方案,例如它应该在画布中处于更高层次,并且画布应该具有图形光线投射等。

但它仍然无法正常工作,尽管它的 on click 数组检测到它应该调用的预期方法。

已选择画布的场景编辑器:

已选择按钮的场景编辑器:

【问题讨论】:

  • 按钮是否注册了点击?如果没有,那么您可能需要向我们展示您的 Canvas 和 Button 的属性,以便我们确定您是否设置了任何错误。
  • 您是如何设置的?您是否在按钮上添加了新的 OnClick 事件(带有 +)?您是否将具有所需功能的脚本的游戏对象拖到插槽中,然后从下拉列表中选择正确的功能?
  • 我点击了 onclick 列表的 + 图标,然后它打开了三个插槽,其中一个用于保存带有脚本的对象,另一个用于从下拉列表中选择预期的功能
  • 我试图添加屏幕截图,但 SO 不会让我......关于代表点的东西。我有一个带有画布组的画布(interactable = true),它的图形光线投射(忽略反向图。= true)
  • 我的按钮属性:interactable = true

标签: user-interface button canvas unity3d click


【解决方案1】:
  1. 从您的按钮中删除画布组件。
  2. 确保您的画布上有一个GraphicRaycaster,并且在层次结构中的某处有一个EventSystem 对象。

(当你第一次添加画布时应该已经添加了两者,但是东西丢失了)

【讨论】:

  • 我刚刚看了你的图片,从你的按钮对象中删除画布组件!
【解决方案2】:

显示您的按钮被选中的屏幕截图还显示,您确实为 OnClick 事件选择了一个游戏对象,但您没有从该字段旁边的下拉列表中选择一个函数,它显示no function

【讨论】:

  • 另外,只勾选解决您的问题的正确答案(或者,如果有多个,最好的一个)。乔布洛写的有点醉了;)
  • @Gunner,我可能发布了错误的屏幕截图,但问题是,按钮首先没有被按下/单击。因此,即使我确保在下拉列表中选择了方法,它也无法正常工作。 :|
  • 悬停和点击时按钮是否会改变颜色?
  • 不...这就是之前所说的...我为不同的状态使用了不同的颜色...按钮没有被禁用但它没有被突出显示或单击...
  • 如果没有高亮显示,那么有东西挡住了按钮(= 在它前面)。
【解决方案3】:

不要选择 C# 类,而是选择 GameObject btnSceneSelect 已附加到。

如果 btnSceneSelect 未附加到 GameObject,则将其附加到一个 (按钮除外)。

取自this site

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-11
    • 2015-06-06
    • 2013-03-08
    • 2019-08-19
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多