C# 从屏幕显示/隐藏菜单

C# 从屏幕显示/隐藏菜单,c#,unity3d,C#,Unity3d,我试图用鼠标右键单击屏幕来显示和隐藏菜单。 例如,单击鼠标右键时,将显示一个菜单,再次按下时,菜单将隐藏 int flag = 1; void Update() { if (Input.GetMouseButton(1)) { if(flag == 1) { RadialMenuSpawn.ins.SpawnMenu(this); //Show it f

我试图用鼠标右键单击屏幕来显示和隐藏菜单。 例如,单击鼠标右键时,将显示一个菜单,再次按下时,菜单将隐藏

int flag = 1;
void Update()
{
        if (Input.GetMouseButton(1))
        {
            if(flag == 1)
            {
                RadialMenuSpawn.ins.SpawnMenu(this); //Show it
                flag = 0;
            }

            if(flag == 0)
            {
                /* hide it */
                flag = 1;
            }
        }
}

是否有任何命令可以从屏幕上隐藏该菜单,因为它正在复制自身?

只需将所有菜单对象存储在一个数组中,然后右键单击该数组,即可启用/禁用这些对象

public GameObject[] menuObjects;

private bool _menuState = false;

void Update()
{
    if(Input.GetKeyDown(KeyCode.Mouse1))
    {
        // Change the value of _menuState
        _menuState = !_menuState;

        // Loop through the menu objects
        foreach(GameObject obj in menuObjects)
        {
            // Enable/Disable the objects
            obj.SetActive(_menuState);
        }

        // Do other stuff...
    }
}

可以祝你好运问题是什么?@Bart对不起,我没有注意到问题被删除了(可能按下了一个按钮:)。是否有任何命令可以从屏幕上隐藏该菜单,因为它正在复制自身?生成确实建议“创建”。所以你不想一直这么做。您希望生成/创建一次,然后将true或false作为参数设置为active。如果你真的想一直使用“产卵”菜单,你就必须在这之后打一个销毁电话,但我敢猜这不是你想要的。