2014-01-21 3 views
1

Я начал разработку игры с использованием libgdx. Это нисходящая 2d-игра, где вы можете контролировать своего персонажа с помощью w, a, s, d и поворачивать его с помощью q и e. В игре я обрабатываю множественные нажатия клавиш, устанавливая логическое значение (wPressed = true/false ...). Но я заметил, что когда я нажимаю «W» и «D», чтобы двигаться вверх, а при повороте нажатием «E» я не могу снимать, нажимая «SPACE». Поэтому кажется, что я не могу обрабатывать более 3 Входов. Мой вопрос сейчас: это Java, libgdx или аппаратная зависимость? Мое исследование Google показало мне, что это связано с клавиатурным буфером, но я не уверен, что Java или libgdx добавили некоторые ограничения. СпасибоОдновременные нажатия клавиш Libgdx

ответ

2

Возможно, это случай вашей клавиатуры. Не каждая клавиатура одновременно обрабатывает более 3-4 клавиш. (Так называемый Ghosting) Даже в зависимости от нажатия клавиш. например некоторые клавиатуры обрабатывают в левом верхнем углу более 4 ключей, а справа - только один.

Тест сочетание здесь, если он работает: Keyboard Ghosting Demonstration

Если нет, это не ваш inputhandler это просто аппаратные средства еще сво inputhandler, и вы должны показать нам код.

+0

Я знаю, что это не так, как реализовано inputHandling (: Я просто хотел знать, является ли это всего лишь аппаратной вещью, или если сама Java ограничивает ключи. Спасибо за этот быстрый ответ! Я попробую демонстрацию Ghosting Keyboard и если это действительно моя реализация, я спрошу еще раз (но я действительно так не думаю: P) – Springrbua

+0

Вы добрый. У вас была проблема с simmelar. – BennX

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