对于玩过 Madness Interactive 的人来说,最令人沮丧的事情之一就是当光标离开游戏区域时,您不小心点击了。这会导致游戏失焦,你的角色会在几秒钟内死亡。为了解决这个问题,我想制作一个可以在后台运行的java应用程序,它将光标保持在屏幕内,直到我按下某个键,例如ESC或其他键。
我看到有两种实现此方法的方法,但我不知道它们是否可行。
- 创建一个与 Madness Interactive 渲染区域大小相匹配的 AWT 框架,并使用它来控制光标。
- 使用一些脱离上下文的操作系统调用将光标保持在给定区域。
方法#1 的优点:更容易实现框架大小的调整,以便用户可以看到封闭区域的形状和位置。
方法 #1 的潜在问题:AWT 框架可能需要从游戏运行的浏览器窗口中窃取焦点,从而使整个解决方案毫无意义。
我的问题是,这两种方法是否可行?如果没有,有可行的选择吗?
编辑:如果有必要,我愿意使用另一种编程语言。
EDIT2:我可能会为此开发一个浏览器插件,但我以前从未做过这种开发。我会研究一下。
如果您仍然对 Java 工作感兴趣,这里有一个可能的解决方案。
首先,为了将光标限制在一个区域内,您可以使用 Java Robot 类。
mouseMove(int x, int y);
然后,您可以使用 AWT 的 MouseInfo 来获取鼠标光标的位置。
PointerInfo mouseInfo = MouseInfo.getPointerInfo();
Point point = mouseInfo.getLocation();
int x = (int) point.getX();
int y = (int) point.getY();
然后,每当x
and y
如果鼠标光标的值超出某个点,请使用 Java Robot 类将它们移回来。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)