2015-04-14 2 views
0

В InputProcessor, событие клавиатуры, у меня возникли проблемы с получением правильного символа с нажатой кнопки. Я понимаю, что InputProcessor keyDown (и keyUp) вернет int, который может быть переведен в строковое значение, но есть ли способ получить этот символ, например COLON,:, в его фактический символ: ?libGDX, как получить символ от InputProcessor?

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

ответ

1

Класс Input.Keys имеет статический toString метод для преобразования кода ключа в читаемую строку человека, вот пример использования:

public boolean keyDown(int keycode){ 
    String symbol = Input.Keys.toString(keycode) 
    Gdx.app.log("Keydown : ", symbol) 
} 
+0

Да, я понимаю, что ToString существует, чтобы получить имя символ, но есть ли способ извлечь сам символ, например «:» вместо «COLON»? – dracorrein

+0

Это статический метод, содержащийся в классе Input.Keys, а не стандартный метод java toString. Он должен возвращать «:» по мере необходимости, если вы посмотрите на его исходный код (строка 506): https://github.com/libgdx/libgdx/blob/master/gdx/src/com/badlogic/gdx/Input.java – Khopa

+0

Ах я вижу. Спасибо. Кажется, что я действительно смотрел, как регистрировать ключевые события, включая клавишу shift. Я не верю, что вы можете получить двоеточие обычно в событии keyDown. – dracorrein

Смежные вопросы