C# XNA 4.0 全屏鼠标移动到第二个监视器

本文关键字:移动 第二个 监视器 鼠标 XNA | 更新日期: 2023-09-27 18:36:26

标题几乎说明了一切。我从XNA Game类派生,并设置IsMouseVisible = true。我有一个双屏设置,辅助显示器从主显示器扩展。我将游戏设置为全屏模式(GraphicsDeviceManager.IsFullScreen = true)。一切正常,全屏模式已初始化。我唯一的问题是鼠标在全屏游戏中没有保持绑定状态。一旦到达全屏游戏的边缘,它就会无缝移动到辅助显示器上。这是意料之中的巴哈维吗?

我做了一个 Mouse.GetState() 来检索运行游戏的同一线程上的每一帧鼠标信息。

我甚至尝试在每次调用 GetState 之前设置 Mouse.WindowHandle = GameWindowHandle,但它不会改变任何东西。

有什么想法吗?或者这是预期的行为,我需要自己将鼠标固定在全屏区域?

问候里安

C# XNA 4.0 全屏鼠标移动到第二个监视器

是的,确切地说,将鼠标固定在您希望它保持打开的屏幕上。 这类似于我(和许多其他人)在为游戏实现精灵光标时使用的方法。 我隐藏了系统鼠标,并将其夹在屏幕中央,这样它就不会显示在其他显示器上。

唯一的缺点是,如果您最小化游戏等,则必须松开鼠标。 否则它会卡住,这可能真的很烦人。