我想为mount和blade创建一个游戏训练器,游戏本身就有欺骗功能,我想利用它。
例如,当你想增加你的钱时,你应该按 ctrl + x ,但它很无聊。
所以我创建了一个代码,如果你按 ctrl + x 100次,但它只工作一次而不是100次。
try {
Robot robot = new Robot();
robot.delay(5000);
robot.keyPress(KeyEvent.VK_CONTROL);
for(int y = 0; y < 100; y++)
{
robot.keyPress(KeyEvent.VK_X);
}
} catch (AWTException e) {
e.printStackTrace();
}
注意:
如果我把
robot.keyPress(KeyEvent.VK_CONTROL)
在for循环中,代码将不起作用
如果我在代码中放置了任何robot.keyRelease,它就会停止工作
为什么它只是一次工作?
答案 0 :(得分:0)
从documentation,如果您按某个键,它将被按下直到您释放它。因此,如果您按Ctrl + X
,然后在循环中按X,您将获得此Ctrl + X + X ...
try {
Robot robot = new Robot();
robot.delay(5000);
for(int y=0;y < 100 ; y++)
{
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_X);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_X);
}
} catch (AWTException e) {
e.printStackTrace();
}
编辑:
另外,正如XtremeBaumer在评论中所说的那样,如果你按下&#34;那么游戏可能会发现你在作弊。钥匙这么快。在每次迭代之间添加一些延迟会使它工作。