Получение currentSelectedGameObject не останавливает запуск - PullRequest
0 голосов
/ 18 января 2019

Я посмотрел вокруг, как получить имя кнопки, которая была нажата на холсте, в то время как все отлично работает с «получением имени» проблема гарантирует, что это событие никогда не останавливается.


Поэтому я попытался установить «buttonPressed» в null после получения имени, которое не сработало.

Я также пытался установить для es.currentSelectedGameObject значение null, которое мне запрещено (должен был знать об этом, но стоит попробовать)

Я также искал этот стековый поток для поиска решений, но, к сожалению, не смог найти то, что решило мою проблему.


 void Update()
{
    buttonPressed = es.currentSelectedGameObject;

    if (buttonPressed != null)
    {
        Debug.Log(buttonPressed.name);
        buttonPressed = null;
    } else
    {
        return;
    }
}

Так что я хочу что-то вроде

Я нажимаю на кнопку, и как только консоль показывает "[время] NAME_OF_BUTTON"

то, что я сейчас получаю, это бесконечный поток

"[время] NAME_OF_BUTTON"

Спасибо заранее за вашу помощь:)

1 Ответ

0 голосов
/ 18 января 2019

Это срабатывает на все обновления.Вы можете отменить выбор, используя es.SetSelectedGameObject(null);, или использовать свойство флага, например, recentlySelected, для которого установлено true, только когда выбран игровой объект, и установить его в false в условии.т.е.

if (buttonPressed != null && recentlySelected)
{
    Debug.Log(buttonPressed.name);
    buttonPressed = null;
    recentlySelected = false;
}
// Also, else is unnecessary.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...