Прежде всего, я бы хотел, чтобы вы поправили меня, если я ошибаюсь. Я все еще учусь и плохо знаком с управлением.
Я нахожусь в следующей ситуации:
Я хотел бы запрограммировать игру с slick2D и управлять ей через контроллер. Я также хочу иметь возможность управлять им с помощью различных типов контроллеров и нескольких контроллеров.
После некоторых тестов я выяснил, что JInput и lwjgl используют разные способы обнаружения подключенных контроллеров. Если я прав, lwjgl просто обнаруживает контроллеры с type != "Unknown"
. Принимая во внимание, что JInput обнаруживает их все.
Я думаю, что вы можете сделать больше с JInput, чем с контроллером lwjgl, я решил использовать JInput.
Когда я программировал его для своего контроллера xbox 360, все прошло нормально. Проблема возникла, когда я протестировал его с другим контроллером (какой-то микс, который можно использовать для xbox & ps3). Позже я выяснил, что компонент с идентификатором 12 (кнопка запуска для контроллера xbox) - это L1 или L2 (не помню, как это было несколько часов назад).
Есть ли какой-нибудь правильный способ доступа к кнопкам контроллеров, а не Controller.getComponents()[12].getPollData() == 1
?
Может быть, способ, который работает для нескольких контроллеров?
Спасибо!