【问题标题】:Unity 5.3 GUI Button Won't Call OnClick EventUnity 5.3 GUI 按钮不会调用 OnClick 事件
【发布时间】:2016-02-14 03:34:36
【问题描述】:

所以我正在尝试制作一个带有标题屏幕的游戏,您可以单击该标题屏幕来加载名为Game 的场景。我在编辑器中创建的按钮无论出于何种原因都不起作用。当我使用代码(如下)创建按钮时,它确实有效。为什么我不能使用编辑器创建我的按钮,然后通过在编辑器中分配OnClick 来调用函数?

如果我要让“点击播放”标题屏幕出错,请帮助我。 提前致谢!

GUI.Button(new Rect(Screen.width * .25, Screen.height * .4, Screen.width * .5, Screen.height * .1), "Test")

【问题讨论】:

  • 你能用检查员发布按钮的快照吗?
  • 请澄清。 'snap' 是指 OnClick 吗?
  • 哦。我的坏那里。无论如何,因为这是一个标题屏幕,所以它不是资源密集型的。正因为如此,我决定只制作一个覆盖整个屏幕的大型精灵并使其呈现透明度。所以在某种程度上,我已经解决了我的问题。
  • 我强烈推荐你使用Unity UI。

标签: unityscript unity5 unity3d-2dtools


【解决方案1】:

试试这个

if (GUI.Button(new Rect(X, Y, width,height), "Button")) {
            Function();
        }

这将检查是否按下按钮并定义了调用函数。

【讨论】:

  • 这个问题是我想在编辑器中制作我的按钮,所以我对它有更多的控制权。
  • 这段代码对我来说非常好用。其实发帖之前我也试过了。
  • 有什么问题吗?为什么不能在编辑器中添加按钮,Goto GameObject> Ui >Button,而不是在按钮组件的 OnClick() 下,按 + 按钮并拖动一个您已附加脚本的游戏对象(其中包含要执行的功能单击时调用)并选择功能。但请确保将您的函数公开(public void Name()),否则它将不会显示在函数列表中。
  • 执行此操作时无法单击按钮。
【解决方案2】:

我通过制作一个空的 GameObject 并添加一个盒子碰撞器和一个脚本解决了这个问题。该脚本只调用一个OnClick 事件,如下所示:

function OnClick {
    //Code goes here
}

希望这有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    相关资源
    最近更新 更多