Estoy desarrollando un juego usando encuestas para el método de entrada. Sin embargo, ahora que estoy profundizando en los menús del juego y otros componentes de la interfaz de usuario, descubro que probablemente me gustaría tener una entrada impulsada por eventos. Quizás incluso tener ambos, usando eventos controlados por la interfaz de usuario y sondeo para la entrada del "mundo". Tengo curiosidad por saber cuál es el mejor camino a seguir.
Estoy definiendo sondeo como: cada ciclo de actualización compruebo qué teclas se presionan, dónde está el mouse, botones presionados, luego los ejecuto y hago acciones en función de la información recopilada.
Estoy definiendo el evento impulsado como: eventos basados en interrupciones, cuando ocurre un evento y se activa la interrupción y se ejecuta un bloque de código basado en el evento.
¿Crees que es mejor ir a todos los eventos, todas las encuestas, o es aceptable una combinación de ambos? Si tiene pros y contras para cualquiera, por favor enumérelos. Gracias.
EDITAR
El juego está basado en Java / OpenGL, por lo que se lanzará a Windows / Mac / Linux. La posibilidad de extender eso a los dispositivos móviles es baja. El juego es estilo RTS, tercera persona en 3D.
EDITAR 2
Todavía no estoy totalmente contento con la forma en que implementé esto, pero hacia lo que me estoy moviendo es detectar eventos en mi interfaz de usuario y, si ninguno de mis componentes de la interfaz de usuario los maneja, paso el evento al "Mundo" para recoger / seleccionar. Algo como:
@Override
private boolean handleEvent(Event event) {
if(hud.handleEvent(event)) {
return true;
}
return WORLD.handleEvent(event);
}
De esta manera no obtengo clics que se filtren a través de la interfaz de usuario para seleccionar objetos detrás de los botones y lo que no.
Actualmente, los controles de mi cámara todavía se basan en encuestas, y eso parece estar funcionando por ahora, pero puedo actualizar eso más adelante.
Agradezco todas las respuestas, lo siento, ¡solo pude elegir una!