Unity Show / Скрыть меню с экрана - PullRequest
0 голосов
/ 09 марта 2019

Я пытаюсь показать и скрыть меню с экрана, щелкнув правой кнопкой мыши. Например, при щелчке правой кнопкой мыши появляется меню, а при повторном нажатии меню скрывается.

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;
            }
        }
}

Есть ли какая-нибудь команда, чтобы скрыть это меню от экрана, потому что оно копирует себя?

1 Ответ

1 голос
/ 09 марта 2019

Просто сохраните все объекты вашего меню в массиве, и, когда вы щелкнете правой кнопкой мыши, вы переключитесь в этот массив, включив / отключив объекты.

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...
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...