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

时间:2012-06-06 12:31:33

标签: c# xna-4.0

标题就是这么说。我派生自XNA Game类,并设置IsMouseVisible = true。我有一个双屏设置,辅助显示器从主显示器扩展。我将游戏设置为全屏模式(GraphicsDeviceManager.IsFullScreen = true)。一切正常,全屏模式初始化。我唯一的问题是鼠标不会在全屏游戏中保持约束。一旦它到达全屏游戏的边缘,它就会无缝地移动到辅助监视器上。这是预期的行为吗?

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

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

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

此致 里安

1 个答案:

答案 0 :(得分:3)

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

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