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