有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在游戏中移动鼠标的正确方法是什么?

我想为minecraft设计一个自动收集物品的机器人。但我在游戏中移动鼠标时遇到了一个问题。这场运动表现得很奇怪。。。它在x和y坐标上跳跃,即使我只在y坐标上加1。在每一款3D游戏中,动作都是这样的,不仅仅是在minecraft中

对于运动,我使用integreated robot class

下面是我用来移动鼠标的剪贴画:

public static void main(String[] args) {

    try {
        Robot bot = new Robot();

        Point mouseposition = MouseInfo.getPointerInfo().getLocation();
        int x = mouseposition.x;
        int y = mouseposition.y;

        //used to switch to the game window
        bot.delay(5000);

        y += 1;

        bot.mouseMove(x, y);

    } catch (AWTException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

我对这段代码的期望是,课程只需向下移动一个像素。如果我在桌面上,光标移动得很好

系统:

  • os: Windows 8.1
  • arch: amd64
  • javaversion: 1.7.0_67
  • ide: eclipse luna

共 (1) 个答案

  1. # 1 楼答案

    在切换到游戏窗口之前,您正在捕获鼠标位置,因此当您将1添加到y坐标时,实际上是在移动鼠标以切换到游戏窗口之前,将1添加到鼠标所在的位置。将延迟放在Point mouseposition = MouseInfo.getPointerInfo().getLocation();行之前