【发布时间】:2019-02-07 09:13:19
【问题描述】:
我正在制作游戏的主菜单,我可以在其中选择加入或创建房间。在 Create 按钮下,我制作了一个 Advanced 按钮,它将打开高级面板,为用户提供更多选项,例如房间大小。我做了正确的onclick() 事件,它使用了主菜单面板和高级面板的SetActive 属性。
问题是,当我单击按钮时,会出现高级菜单,但主菜单并没有隐藏。我看过不同的教程,但他们都说要完全按照我的做法去做。
【问题讨论】:
我正在制作游戏的主菜单,我可以在其中选择加入或创建房间。在 Create 按钮下,我制作了一个 Advanced 按钮,它将打开高级面板,为用户提供更多选项,例如房间大小。我做了正确的onclick() 事件,它使用了主菜单面板和高级面板的SetActive 属性。
问题是,当我单击按钮时,会出现高级菜单,但主菜单并没有隐藏。我看过不同的教程,但他们都说要完全按照我的做法去做。
【问题讨论】:
我通常不使用这些内置方法。最好的方法是像这样创建自己的实现:
public GameObject panel; // drop the panel in the editor
public void onAdvancedClicked()
{
panel.SetActive(!panel.activeSelf); // make it active/inactive with one click
}
在脚本中初始化 panel 的另一种方法是向它添加标签,然后在 start 方法中通过标签获取它:
panel = GameObject.FindWithTag("panelTag");
【讨论】:
GetComponent<Button>().onClick.AddListener(delegate { ... })