我实际上要做的是在窗口游戏中获取鼠标坐标。到目前为止,我只找到了检索鼠标屏幕坐标的方法。因此,我想知道窗口的位置,这样我就可以从鼠标的屏幕坐标中减去它,以获得鼠标的窗口坐标。
这是可能的,如果是的话,怎么样?
答案 0 :(得分:3)
你试过Mouse.GetState吗?它返回一个带有X和Y属性的MouseState。 MSDN上的文档非常稀疏,但如果仔细查看特定X和Y属性的文档,您会看到它返回相对于窗口左上角的位置,更符合你的追求。
MouseState.X - 鼠标光标相对于游戏窗口左上角的水平位置。
MouseState.Y - 鼠标光标相对于游戏窗口左上角的垂直位置。
这样做的好处是它不是特定于平台的,因此如果您将来将游戏移植到另一个平台,代码将不必更改。
答案 1 :(得分:0)
您是否尝试引用System.Windows.Forms并从Window.Handle获取表单,然后从表单中获取位置?
Point WindowCoordinates = System.Windows.Forms.Form.FromHandle(Window.Handle).Location;