当游戏没有焦点时,XNA捕获鼠标点击


13

如果我按Alt键并在游戏窗口之外进行操作,则游戏仍会捕获鼠标单击(左键单击和右键单击)。

游戏不会“消耗”点击,因为它们也会发送到具有焦点的应用程序中。

但是每次您在Internet浏览器中单击时听到枪声都是很烦的...

此外,即使将游戏设置为全屏,也会出现问题。

Answers:


15

我发现的最佳解决方案是,如果输入无效,则停止响应输入(并且可能也暂停游戏)。

您可以检查Game.IsActive或挂钩ActivatedDeactivated事件。

有一个小缺点-我将认为这是框架中的错误-游戏始终以“活动”状态启动,即使游戏开始运行时实际上并未处于活动状态。(例如:您单击启动游戏与实际开始游戏之间的另一个窗口。)

您可以通过检查游戏开始时活动窗口是什么来解决此问题GetForegroundWindow。或者,您也可以不必担心-它偶尔会以开发人员的身份发生,但我怀疑它并不会真正影响最终用户。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.