【发布时间】:2015-07-11 16:44:53
【问题描述】:
我正在学习 SharpDX,但是在学习 DirectInput 中的 MouseManager 类和 Mouse 类时发现了一个问题。 我不知道如何获取对我来说很重要的 mousePosition,因为我在游戏中添加了按钮。我查看了文档,但在这里没有找到任何帮助。
【问题讨论】:
我正在学习 SharpDX,但是在学习 DirectInput 中的 MouseManager 类和 Mouse 类时发现了一个问题。 我不知道如何获取对我来说很重要的 mousePosition,因为我在游戏中添加了按钮。我查看了文档,但在这里没有找到任何帮助。
【问题讨论】:
我假设您使用RenderForm 来展示您的游戏。如果是这种情况,您可以像使用 Windows 窗体一样订阅鼠标事件:
int x;
int y;
// form is RenderForm
form.MouseMove += (sender, args) => {
x = args.X;
y = args.Y;
};
【讨论】:
MouseManager 的新实例,并在你的Update 过程中使用GetState()-方法来获取鼠标数据。
SharpDX 中的鼠标位置在 [0,1] 范围内。我也有一个瓷砖地图编辑器。
我需要稳定它,但您可以查看代码here。 (使用没有工具包的DX11)
无论如何
只需将 X、Y 值乘以宽度/高度。
别担心,这也让我失望了。
【讨论】: