Ответ 1
Используйте свойство Game.IsActive
, чтобы проверить, должны ли вы работать с вводом мыши и клавиатуры.
Я разрабатываю игру, смешанную с winforms (для редактора карт). Проблема, с которой я сталкиваюсь, заключается в том, что даже если основное окно игры не находится в фокусе, оно все равно принимает события изменения мыши (например, щелчок и перемещение мыши).
Есть ли способ убедиться, что мое приложение находится в фокусе, прежде чем продолжать обрабатывать эти события, есть ли какой-то встроенный метод?
Спасибо!
Используйте свойство Game.IsActive
, чтобы проверить, должны ли вы работать с вводом мыши и клавиатуры.
Если вы добавили ссылку на 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.
}