Подтвердить что ты не робот

Убедитесь, что моя игра XNA имеет фокус, прежде чем обращаться с событиями мыши и клавиатуры

Я разрабатываю игру, смешанную с winforms (для редактора карт). Проблема, с которой я сталкиваюсь, заключается в том, что даже если основное окно игры не находится в фокусе, оно все равно принимает события изменения мыши (например, щелчок и перемещение мыши).

Есть ли способ убедиться, что мое приложение находится в фокусе, прежде чем продолжать обрабатывать эти события, есть ли какой-то встроенный метод?

Спасибо!

4b9b3361

Ответ 1

Используйте свойство Game.IsActive, чтобы проверить, должны ли вы работать с вводом мыши и клавиатуры.

Ответ 2

Если вы добавили ссылку на System.Windows.Forms, вы можете проверить, активно ли окно XNA следующим образом:

if (System.Windows.Forms.Form.ActiveForm ==
    (System.Windows.Forms.Control.FromHandle(Window.Handle) as System.Windows.Forms.Form))
{
    // Active form is the XNA window.
}