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

时间:2014-10-10 15:07:55

标签: java mouse

我想编写一个自动收集物品的机器人。但是我在游戏中移动鼠标有问题。这个动作很奇怪......即使我只在y坐标上加1,它也会在x和y坐标处跳跃。在每个3D游戏中,动作都是这样的,不仅仅是在我的世界中。

对于动作,我使用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 个答案:

答案 0 :(得分:1)

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