Я розробляю гру, використовуючи опитування для методу введення. Однак тепер, коли я заглиблююсь у меню ігор та інші компоненти інтерфейсу, я вважаю, що, мабуть, хотів би мати внесок, керований подіями. Можливо, навіть є і те, і інше, використовуючи події, керовані для інтерфейсу користувача, і опитування для "світового" вкладу. Мені цікаво, який найкращий шлях - це.
Я визначаю опитування як: кожен цикл оновлення Я перевіряю, які клавіші натискаються, де знаходиться миша, натискаються кнопки, потім виконуються через них і виконую дії, грунтуючись на зібраній інформації.
Я визначаю подію, керовану як: події на основі переривання, коли відбувається подія, і переривання спрацьовує, і блок коду запускається на основі події.
Ви вважаєте, що найкраще проводити всі події, все опитування чи це комбінація обох? Якщо у вас є плюси і мінуси будь-якого, будь ласка, перерахуйте їх. Спасибі.
EDIT
Гра заснована на Java / OpenGL, тому буде випущена в Windows / Mac / Linux. Можливість поширити це на мобільні пристрої низька. Гра в стилі RTS, третя особа 3D.
EDIT 2
Я все ще не зовсім задоволений тим, як я це реалізував, але те, що я рухаюсь, - це ловити події в моєму інтерфейсі, і якщо вони не обробляються жодним із моїх компонентів інтерфейсу, я передаю подію на "Світ" для вибору / відбору. Щось на зразок:
@Override
private boolean handleEvent(Event event) {
if(hud.handleEvent(event)) {
return true;
}
return WORLD.handleEvent(event);
}
Таким чином я не отримую клацань, що протікають через інтерфейс користувача, щоб вибирати об'єкти за кнопками, а що ні.
Наразі управління моїми камерами все ще базується на опитуванні, і, здається, зараз працює, але згодом я можу оновити це.
Я ціную всі відповіді, вибачте, що могла вибрати лише одну!