2013-02-17 26 views
0

我正在尝试使用Robot类创建一个游戏bot。 我曾尝试下面的代码来执行鼠标的右键点击:使用Robot类的Java bot

robot.mousePress(InputEvent.BUTTON3_MASK); 
robot.mouseRelease(InputEvent.BUTTON3_MASK); 

和它的工作。

我在客户端3D在线游戏上测试它。

按“1”键应该执行某种动作游戏中,而当我尝试下面的代码也没有工作:

robot.keyPress(KeyEvent.VK_1); 
robot.keyRelease(KeyEvent.VK_1); 

但是,当我使用的代码,它没有工作而讲在游戏中聊天。

它一遍又一遍地被测试,我不断得到相同的结果。

这是我做错了什么吗?或者游戏检测到我不是那个按下那个键的人。

回答

6

您可能太快释放密钥。尝试睡眠30〜60ms才能放开钥匙:

robot.keyPress(KeyEvent.VK_1); 
try { 
    Thread.sleep(50); 
} catch(Exception e) { 
    e.printStackTrace(); 
} 
robot.keyRelease(KeyEvent.VK_1); 
+0

谢谢!工作,我会尽可能接受。 – 2013-02-17 01:24:20

+0

@ImriPersiado如果它解决了你的问题,你应该能够接受nneonneo的答案,我不相信这会限制任何人接受答案的能力。 – 2013-02-17 01:29:56

+0

“你可以在5分钟内接受答案” – 2013-02-17 01:31:05