我有一个 javafx 游戏,顺便说一句,它作为窗口应用程序运行。游戏是通过移动和单击鼠标来控制的,但是当我将鼠标移动得太远并且它超出窗口时,就会出现问题,因为正如我提到的,单击也是游戏的一部分,我们都知道当您单击鼠标时会发生什么程序位于您的窗口应用程序后面,假设我不小心单击了 google chrome,然后我的游戏就隐藏在 google chrome 后面,但由于它仍在运行,所以我输了,除非我能够足够快地按 alt+tab 返回游戏。
我希望通过不允许鼠标退出窗口,将其限制在我的游戏正在运行的窗口/舞台/场景的边界来解决这个问题。
可以这样限制鼠标吗?我该怎么做?
最佳答案
可以通过Robot来做到这一点。具体来说,当鼠标偏离太远时,您可以使用 mouseMove
重置鼠标位置。
或者,您可以考虑允许用户逃离您的窗口,但让您的游戏对该事件使用react。例如,当鼠标离开窗口时暂停游戏。
您可以使用pointerInfo
来跟踪光标的位置(如here所述)。
关于java - 如何阻止鼠标退出窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36254324/