Я не использовал Unity, однако я понимаю вашу проблему и являюсь разработчиком на C #.
По результатам быстрого поиска я нашел кого-то на форумах Unity с такой же проблемой, как у вас.Вот тема https://answers.unity.com/questions/1520939/check-if-there-is-a-keyboard-input.html.
if (Input.anyKeyDown)
{
Event e = Event.current;
if (e.isKey)
{
Debug.Log("Current Key is : " + e.keyCode.ToString());
}
}
Приведенный выше код (по ссылке на форуме Unity) позволяет обнаружить input.anyKeyDown (клавиатура и мышь).Затем вы можете отфильтровать обнаружение мыши, проверив, был ли ввод только вводом с клавиатуры с e.isKey
Вот документация для KeyCode .Сюда также входят все доступные ему свойства (многие связанные с клавиатурой свойства, с которыми вы можете проверять).
Например (не проверено):
Event e = Event.current;
if (e.isKey)
{
Debug.Log("Current Key is : " + e.keyCode.ToString());
if(e.keyCode == KeyCode.A) //checks if the keycode returned equals the 'A' key
{
// Do something
}
}
РЕДАКТИРОВАТЬ: Как указано вдругой ответ вы можете попробовать Input.inputString .Согласно документации insputString содержит «Только символы ASCII».Так, например, вы могли бы сделать что-то подобное в методе «Обновление», если буквы были тем, что вы только хотели проверить.
void Update()
{
//get the input
var input = Input.inputString;
//ignore null input to avoid unnecessary computation
if (!string.IsNullOrEmpty(input))
{
switch(input)
{
case 'a': break;
case 'b': break;
}
}
}
Надеюсь, это поможет.