Я разрабатываю игру, используя опрос для метода ввода. Однако теперь, когда я углубляюсь в игровые меню и другие компоненты пользовательского интерфейса, я обнаружил, что, вероятно, хотел бы получить ввод, управляемый событиями. Возможно, даже и то и другое: использование событий, управляемых для пользовательского интерфейса, и опрос для ввода «мира». Мне любопытно, что лучший способ пойти.
Определяю опрос как: каждый цикл обновления проверяет, какие клавиши нажимаются, где находится мышь, какие кнопки нажаты, затем пробегаются по ним и выполняют действия на основе собранной информации.
Я определяю событие, управляемое как: события, основанные на прерываниях, когда происходит событие и запускается прерывание, и на основе события запускается блок кода.
Как вы думаете, будет ли лучше пройти все события, все опросы, или приемлема комбинация обоих? Если у вас есть плюсы и минусы, укажите их. Благодарю.
РЕДАКТИРОВАТЬ
Игра основана на Java / OpenGL, поэтому будет выпущена для Windows / Mac / Linux. Возможность распространения этого на мобильные устройства невелика. Игра в стиле RTS, 3-е лицо 3D.
РЕДАКТИРОВАТЬ 2
Я до сих пор не совсем доволен тем, как я это реализовал, но я двигаюсь к тому, чтобы перехватывать события в моем пользовательском интерфейсе, и если они не обрабатываются ни одним из моих компонентов пользовательского интерфейса, я передаю событие на «Мир» для комплектации / выбора. Что-то вроде:
@Override
private boolean handleEvent(Event event) {
if(hud.handleEvent(event)) {
return true;
}
return WORLD.handleEvent(event);
}
Таким образом, я не получаю щелчки, просачивающиеся через пользовательский интерфейс, чтобы выбрать объекты за кнопками, а что нет.
В настоящее время мои элементы управления камерой все еще основаны на опросе, и это, кажется, пока работает, но я могу обновить это позже.
Я ценю все ответы, извините, я мог выбрать только один!