gpt4 book ai didi

Java:将光标保持在一个区域

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:54:29 24 4
gpt4 key购买 nike

对于那些玩过 Madness Interactive 的人来说,最令人沮丧的事情之一就是当光标离开游戏区域时,您不小心点击了。这会导致游戏散焦,您的角色会在几秒钟内死亡。为了解决这个问题,我想制作一个可以在后台运行的 Java 应用程序,它将光标保持在屏幕内,直到我按下某个键,例如 ESC 或其他键。

我看到了两种实现方式,但我不知道它们是否可行。

  1. 制作一个与 Madness Interactive 的渲染区域大小相匹配的 AWT 框架,并使用它来控制光标。
  2. 使用一些脱离上下文的操作系统调用将光标保持在给定区域。

方法 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();

然后,每当鼠标光标的 xy 值超过某个点时,使用 Java Robot 类将它们移回。

关于Java:将光标保持在一个区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13831695/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com