Как понять, какую клавишу нажал пользователь?

Программирование на Юнити.

Как понять, какую клавишу нажал пользователь?

Сообщение loner57e 10 апр 2020, 19:58

Добрый вечер!
Проблема, в принципе, ясна из заголовка темы: я отлавливаю нажатие на любую клавишу, мне требуется понять, какую именно клавишу нажал пользователь.
У меня имеется следующий код:
Синтаксис:
Используется csharp
void Update()
{
    Debug.Log("Ожидается нажатие клавиши...");
    if(Input.anyKey)   // пытался заменить на строку if(Event.current.isKey), но все равно вылетало нижеописанное исключение
    {
        key = Event.current.keyCode;
        /* ... */
    }
}

В поиске решения я наткнулся на эту тему http://unity3d.ru/distribution/viewtopic.php?f=105&t=22156, но на строке "key = Event.current.keyCode;" вылетает исключение "NullReferenceException: Object reference not set to an instance of an object". Про какой экземпляр обьекта говорится, про какую ссылку - я так и не понял.
Помогите, пожалуйста!
P. S. Если есть возможность заменить строку "key = Event.current.keyCode;" на что либо другое - подскажите, пожалуйста
loner57e
UNец
 
Сообщения: 5
Зарегистрирован: 10 апр 2020, 16:24

Re: Как понять, какую клавишу нажал пользователь?

Сообщение loner57e 10 апр 2020, 20:02

Чуть не забыл: key обьявлено следующим образом:
Синтаксис:
Используется csharp
public KeyCode key;
loner57e
UNец
 
Сообщения: 5
Зарегистрирован: 10 апр 2020, 16:24

Re: Как понять, какую клавишу нажал пользователь?

Сообщение Tolking 10 апр 2020, 20:05

видимо эвентменеджера(эвентсистем) нет на сцене
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: Как понять, какую клавишу нажал пользователь?

Сообщение loner57e 10 апр 2020, 20:28

Tolking писал(а):видимо эвентменеджера(эвентсистем) нет на сцене

Кхм. У меня слов нет для описания моей... моего... Сами слово найдете. Понятия не имею, каким образом я не нашел причину ошибки.
loner57e
UNец
 
Сообщения: 5
Зарегистрирован: 10 апр 2020, 16:24

Re: Как понять, какую клавишу нажал пользователь?

Сообщение alew 10 апр 2020, 20:36

Синтаксис:
Используется csharp
private void OnGUI()
    {
        string s = "abcdefghij";
        for (int i = 0; i<s.Length;i++)
        {
            if (Input.GetKey(s.Substring(i,1)))
            {
                GUI.Box(new Rect(30, 30, 60, 60), s.Substring(i, 1));
            }
        }
    }
 
alew
UNIт
 
Сообщения: 76
Зарегистрирован: 23 ноя 2018, 19:59

Re: Как понять, какую клавишу нажал пользователь?

Сообщение 1max1 10 апр 2020, 20:37

Input.inputString можно.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2