XNA фіксує клацання миші, коли гра не має фокусу


13

Якщо я натискаю вкладку alt і роблю речі поза вікном гри, гра все одно фіксує клацання миші (клацання лівою та правою кнопками).

Гра не «споживає» кліки, оскільки вони також надсилаються до програми, на якій фокусується.

Але досить прикро чути вистріл кожного разу, коли ви клацаєте у веб-переглядачі ...

Також проблема виникає, навіть якщо гру встановлено на повноекранний екран.

Відповіді:


15

Найкраще рішення, яке я знайшов для цього, - це припинити реагувати на вхід (і, ймовірно, призупинити вашу гру також), якщо вона не працює.

Ви можете перевірити Game.IsActiveабо підключити Activatedі Deactivatedподії.

Є один незначний недолік - я б просто вважав це помилкою в рамках - гра завжди починається в активному стані, навіть якщо гра фактично не активна, коли вона починає працювати. (Наприклад: ви клацаєте в іншому вікні між запуском гри та фактичною початком гри.)

Ви могли б обходити це, перевіряючи, що таке активне вікно, коли ваша гра починається, ймовірно, використовуючи GetForegroundWindow. Або ви можете просто не турбуватися про це - це час від часу трапляється як розробник, але я підозрюю, що це не дуже впливає на кінцевих користувачів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.