Я фанат Slick, и я был бы рад помочь.
Принципиальное отличие состоит в том, что Slick является моделью опроса, а не моделью, управляемой событиями, когда дело доходит до ввода. По сути, в вашем методе обновления логики вы перебираете ключи, связанные с вашими событиями, и проверяете, нажата ли какая-либо из клавиш в данный момент, а затем запускаете эти события. По ряду причин, в которые я могу обратиться, если хотите, опрос имеет тенденцию работать лучше для игр, особенно с большим количеством клавиш. Это просто другой способ делать вещи, не такой сложный. Самый большой плюс в том, что вы получаете централизованную обработку ввода одним методом, вместо того, чтобы распределять его по нескольким объектам экземпляра KeyListener.
Если вы хотите посмотреть на Пешеходы - простой пешеходный сим, реализованный в Slick - вы можете увидеть пример того, как обрабатывать ввод в Slick.
В частности, я обрабатываю ввод в этом файле (строки 192-295) внутри метода processInput
. По сути, вы передаете ссылку на объект GameContainer
(объект Slick, содержащий вашу игру), и из него вы можете получить экземпляр для экземпляра Input
, который позволит вам проверить, какие клавиши нажаты, какая мышь кнопки нажимаются и т. д.