我想编写一个自动收集物品的机器人。但是我在游戏中移动鼠标有问题。这个动作很奇怪......即使我只在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
答案 0 :(得分:1)
在切换到游戏窗口之前你正在捕捉鼠标位置,所以当你在y坐标上加1时,实际上是在鼠标移动到之前加上1 你移动了它切换到游戏窗口。将延迟放在Point mouseposition = MouseInfo.getPointerInfo().getLocation();
行之前。