在MonoGame中获取窗口坐标

时间:2013-08-25 14:57:55

标签: c# windows monogame

我实际上要做的是在窗口游戏中获取鼠标坐标。到目前为止,我只找到了检索鼠标屏幕坐标的方法。因此,我想知道窗口的位置,这样我就可以从鼠标的屏幕坐标中减去它,以获得鼠标的窗口坐标。

这是可能的,如果是的话,怎么样?

2 个答案:

答案 0 :(得分:3)

你试过Mouse.GetState吗?它返回一个带有X和Y属性的MouseState。 MSDN上的文档非常稀疏,但如果仔细查看特定XY属性的文档,您会看到它返回相对于窗口左上角的位置,更符合你的追求。

  

MouseState.X - 鼠标光标相对于游戏窗口左上角的水平位置。

     

MouseState.Y - 鼠标光标相对于游戏窗口左上角的垂直位置。

这样做的好处是它不是特定于平台的,因此如果您将来将游戏移植到另一个平台,代码将不必更改。

答案 1 :(得分:0)

您是否尝试引用System.Windows.Forms并从Window.Handle获取表单,然后从表单中获取位置?

Point WindowCoordinates = System.Windows.Forms.Form.FromHandle(Window.Handle).Location;