You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity(C#)菜单初始化隐藏问题:如何设置菜单默认关闭?

Unity菜单默认隐藏的代码修改方案

当前代码的问题在于初始化时只是读取菜单对象的现有激活状态,没有强制实现默认隐藏的需求。以下是调整后的代码及说明:

修改点说明

  • 初始化阶段直接强制菜单隐藏,同步状态变量,彻底摆脱对场景中对象初始设置的依赖
  • 保留原有的按键切换逻辑不变,同时优化了按键判断的灵活性

修改后的完整代码

[Header("Keybinds")]
public KeyCode Escape = KeyCode.Escape;

GameObject ReturnToMainMenuObject;
bool ReturnToMainMenuIsOpen = false;

void Start()
{
    ReturnToMainMenuObject = GameObject.Find("ReturnToMainMenu");
    // 强制设置菜单初始隐藏,并同步状态变量
    ReturnToMainMenuIsOpen = false;
    ReturnToMainMenuObject.SetActive(ReturnToMainMenuIsOpen);
}

void Update()
{
    if (Input.GetKeyUp(Escape)) // 改用定义的公共变量,方便在Inspector中调整按键
    {
        ReturnToMainMenuIsOpen = !ReturnToMainMenuIsOpen;
        ReturnToMainMenuObject.SetActive(ReturnToMainMenuIsOpen);
        Debug.Log("ReturnToMainMenuIsOpen: " + ReturnToMainMenuIsOpen);
    }
}

额外小提示:原代码Update方法里用了硬编码的KeyCode.Escape,改成公共变量Escape后,不用修改代码就能在Unity编辑器的Inspector面板里切换触发按键,灵活性更高。

内容的提问来源于stack exchange,提问作者RED light editor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 03:48:15