Answers:
我发现的最佳解决方案是,如果输入无效,则停止响应输入(并且可能也暂停游戏)。
您可以检查Game.IsActive
或挂钩Activated
和Deactivated
事件。
有一个小缺点-我将认为这是框架中的错误-游戏始终以“活动”状态启动,即使游戏开始运行时实际上并未处于活动状态。(例如:您单击启动游戏与实际开始游戏之间的另一个窗口。)
您可以通过检查游戏开始时活动窗口是什么来解决此问题GetForegroundWindow
。或者,您也可以不必担心-它偶尔会以开发人员的身份发生,但我怀疑它并不会真正影响最终用户。