XNA captura los clics del mouse cuando el juego no tiene foco

13

Si hago alt-tab y hago cosas fuera de la ventana del juego, el juego aún captura los clics del mouse (tanto el izquierdo como el derecho).

El juego no "consume" los clics, ya que también se envían a la aplicación que tiene el foco.

Pero es bastante molesto escuchar un disparo cada vez que haces clic en tu navegador de Internet ...

Además, el problema ocurre incluso si el juego está configurado en pantalla completa.

asmo
fuente

Respuestas:

15

La mejor solución que he encontrado para esto es dejar de responder a la entrada (y probablemente pausar su juego también) si se queda inactivo.

Puede verificar Game.IsActiveo enganchar los eventos Activatedy Deactivated.

Hay un inconveniente menor: consideraría que esto es un error en el marco: el juego siempre comienza en el estado Activo, incluso si el juego no está realmente activo cuando comienza a ejecutarse. (Por ejemplo: hace clic en otra ventana entre el inicio del juego y el inicio real del juego).

Podrías evitar esto comprobando cuál es la ventana activa cuando comienza tu juego, probablemente usando GetForegroundWindow. O simplemente no podría preocuparse por ello: ocasionalmente sucede como desarrollador, pero sospecho que realmente no afecta a los usuarios finales.

Andrew Russell
fuente