Запустить проект xcode ios на Android

KeyListener - это API с более низким уровнем, который требует, чтобы компонент, который он зарегистрировал, был сфокусирован и имел фокус клавиатуры. Это может вызвать проблемы, если у вас есть другие компоненты в вашей игре, которые могут захватить фокус клавиатуры, например.

KeyListener, как правило, сложнее поддерживать, расширять или изменять, как обычно, все ключевые события

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

API привязок клавиш был разработан для предоставления повторно используемых Action s, которые могут использоваться во множестве различных частей Swing API, в то время как это упрощает разработку настольных приложений, это также облегчает разработку игр ...

Помимо того факта, что теперь вы получаете контроль над уровнем фокуса, на котором происходят события вы также получаете гибкость в определении настраиваемых ключей, которые могут быть сопоставлены с различными действиями

Например ...

Вы определяете Up Action, который перемещает вас вверх. Это оторвано от любого события. Это означает, что Action не заботится о том, как он срабатывает, только то, что он должен делать, когда он запускается.

Теперь вы можете определить нажатие клавиши, которое вызовет это действие. Огромная часть этого, внезапно, имеет возможность предоставить пользовательскую настройку, поэтому они могут фактически определить ключевой штрих, который они хотят для действия, например, без необходимости создавать какую-то собственную систему сопоставления ключей.

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

-11
задан user3892683 4 February 2015 в 10:01
поделиться