Unity3d 4.6 GUI - 按钮单击脚本从预制中消失

Posted

技术标签:

【中文标题】Unity3d 4.6 GUI - 按钮单击脚本从预制中消失【英文标题】:Unity3d 4.6 GUI - Button On Click script dissapears from prefab 【发布时间】:2014-09-22 05:20:00 【问题描述】:

我正在使用新的 Unity3d 4.6 GUI Beta。我创建了一个画布并在画布上附加了一个按钮。我已将脚本附加到一个空的游戏对象,其中包含按钮使用的方法。当我单击按钮时,一切正常。但是,如果我将同一个画布变成预制件,当我实例化预制件时,按钮的“单击时”部分变为空,并且按钮不再起作用。我还尝试仅将按钮制作为预制件,而不是将按钮作为其子元素的画布,这是同一回事。我真的希望有人知道如何在按钮仍然有效的地方制作一个按钮预制件。

【问题讨论】:

嗨,我现在正在处理同样的问题,你有没有想过这个问题? 【参考方案1】:

您可以像我一样解决这个问题 - 我最终在代码中手动添加了按钮侦听器(见下文)。只需确保在您的预制件实例化时执行此操作。即使在最新的 Unity 客户端中,您尝试执行此操作的“UI 方式”似乎也被破坏了。

    var buttonTransform = this.transform.FindChild("Button");
    _buttonScript = buttonTransform.GetComponent<Button>();
    _buttonScript.onClick.AddListener(() => Flip());

Unity 网站http://answers.unity3d.com/questions/794720/on-click-paramaters-disappear-from-button-prefab.html 上有关于此问题的更多信息,但我找不到他们的团队记录的相应问题。

【讨论】:

哈,这是我关于 Unity 答案的问题。在没有收到任何回复后,我在这里发帖。我将标记您的答案正确,至少在我找出实际正确答案(或问题已解决)之前。我最终没有在代码中使用预制件,而是在代码中完成了所有工作,虽然这显然不是最佳的,但至少完成了工作。

以上是关于Unity3d 4.6 GUI - 按钮单击脚本从预制中消失的主要内容,如果未能解决你的问题,请参考以下文章

在 Unity 4.6 中从 C# 脚本创建 UI 按钮,无需任何预制件 [重复]

unity3D小小白之GUI控件(ButtonTextfieldSlider)(还在写)

unity3d中的GUI界面如何让一个button选中后变色。

Unity3D js脚本怎么实现点击一个按钮,弹出另一个;再点击原按钮,弹出的按钮关闭

unity3d 虚拟手柄

Unity 4.6 - 如何将 GUI 元素缩放到适合每个分辨率的大小