【发布时间】:2018-08-16 19:02:19
【问题描述】:
我正在使用 LWJGL 2.9.3 创建一个窗口并通过 LWJGLs Mouse.getX(),getY() 方法检索鼠标坐标。这些方法的结果和getEventX() 的事件结果是相等的。
使用 linux (ubuntu gnome, dm: i3) 我得到的坐标是正确的,但在使用 Windows 8 时不是。改变它们)
这里有 2 张图像,其中包含我在两个操作系统上获得的坐标估计值。
正确,Linux:
不正确,窗口:
当激活全屏时,我得到了两个变量的数据,X 坐标似乎很合适,Y 坐标有些偏离,并且在同一位置多次点击会发生变化。
以下是我在此示例中使用的完整代码: https://gist.github.com/Geosearchef/5889a13edd6b983959e837a8506170af
有人知道是什么原因造成的吗? LWJGL 的错误?我已经在 Windows 上使用了那个确切的版本并且能够做到。我的安装有问题?
更新:((WindowsDisplay) Mouse.implementation).mouse.last_x 具有正确的值,((WindowsDisplay) Mouse.implementation).mouse.last_y 是正确的,如果您将其原点设置在距顶部 1/3 处。在此之下,它变得消极->被钳制。我不知道为什么 x 被设置为 -1。
更新:由于 Display 类返回 0、100 作为宽度和高度,鼠标实现失败。这在全屏的情况下被忽略。宽度和高度在开始时设置正确,但后来被来自底层实现的更新(调整大小)调用覆盖。
【问题讨论】:
标签: windows winapi mouse lwjgl