Страница 1 из 1

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

СообщениеДобавлено: 10 апр 2020, 19:58
loner57e
Добрый вечер!
Проблема, в принципе, ясна из заголовка темы: я отлавливаю нажатие на любую клавишу, мне требуется понять, какую именно клавишу нажал пользователь.
У меня имеется следующий код:
Синтаксис:
Используется 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;" на что либо другое - подскажите, пожалуйста

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

СообщениеДобавлено: 10 апр 2020, 20:02
loner57e
Чуть не забыл: key обьявлено следующим образом:
Синтаксис:
Используется csharp
public KeyCode key;

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

СообщениеДобавлено: 10 апр 2020, 20:05
Tolking
видимо эвентменеджера(эвентсистем) нет на сцене

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

СообщениеДобавлено: 10 апр 2020, 20:28
loner57e
Tolking писал(а):видимо эвентменеджера(эвентсистем) нет на сцене

Кхм. У меня слов нет для описания моей... моего... Сами слово найдете. Понятия не имею, каким образом я не нашел причину ошибки.

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

СообщениеДобавлено: 10 апр 2020, 20:36
alew
Синтаксис:
Используется 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));
            }
        }
    }
 

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

СообщениеДобавлено: 10 апр 2020, 20:37
1max1
Input.inputString можно.