Java 机器人按键会脉冲,但不会持续按

Java 机器人按键会脉冲,但不会持续按,java,processing,keyevent,awtrobot,Java,Processing,Keyevent,Awtrobot,在处理过程中,我在处理脚本中使用JavaRobot类为游戏按键。无论我以何种方式使用它,按键在我告诉它的任何时间内都会闪烁和不稳定地脉冲,从而在模拟游戏中在一瞬间按下A四到五次。我怎样才能解决这个问题?我使用的机器人类如下: void robotPress() { roboReady = false; if (keyPress == 1){ robot.keyPress(KeyEvent.VK_A); robot.delay(roboDelayA); robot.keyRe

在处理过程中,我在处理脚本中使用Java
Robot
类为游戏按键。无论我以何种方式使用它,按键在我告诉它的任何时间内都会闪烁和不稳定地脉冲,从而在模拟游戏中在一瞬间按下A四到五次。我怎样才能解决这个问题?我使用的
机器人
类如下:

void robotPress() {
 roboReady = false;
 if (keyPress == 1){
   robot.keyPress(KeyEvent.VK_A);
   robot.delay(roboDelayA);
   robot.keyRelease(KeyEvent.VK_A);

 }else if (keyPress == 2){
   //b
   robot.keyPress(KeyEvent.VK_B);
   robot.delay(roboDelayA);
   robot.keyRelease(KeyEvent.VK_B);
 }else if (keyPress == 3){
   //x
   robot.keyPress(89);
   robot.delay(roboDelayA);
   robot.keyRelease(89);
 }else if (keyPress == 4){
   //y
   robot.keyPress(91);
   robot.delay(roboDelayA);
   robot.keyRelease(91);
 }else if (keyPress == 5){
   //l
   robot.keyPress(67);
   robot.delay(roboDelayA);
   robot.keyRelease(67);
 }else if (keyPress == 6){
   //r
   robot.keyPress(82);
   robot.delay(roboDelayA);
   robot.keyRelease(82);
 }else if (keyPress == 7){
   //start
   robot.keyPress(81);
   robot.delay(roboDelayA);
   robot.keyRelease(81);
 }else if (keyPress == 8){
   //select
   robot.keyPress(86);
   robot.delay(roboDelayA);
   robot.keyRelease(86);
 }else if (keyPress == 9){
   //up
   robot.keyPress(38);
   robot.delay(roboDelay);
   robot.keyRelease(38);
 }else if (keyPress == 10){
   //down
   robot.keyPress(40);
   robot.delay(roboDelay);
   robot.keyRelease(40);
 }else if (keyPress == 11){
   //left
   robot.keyPress(37);
   robot.delay(roboDelay);
   robot.keyRelease(37);
 }else if (keyPress == 12){
   //right
   robot.keyPress(39);
   robot.delay(roboDelay);
   robot.keyRelease(39);
 }
 keyPress = 0;
 roboReady = true;
}
变量
keyPress
是查找要按下哪个按钮的代码。所有按钮均正确按下和释放。我正在使用
线程(“robotPress”)
若要在不同的线程中调用此函数,它与在
void draw()中调用此函数没有任何区别。
;为了演出。没有任何类型的错误,我所有的摆弄都不会改变任何事情。对于大多数按钮,我需要它是一个短暂的单脉冲,但对于方向数据,它需要保持一个短暂的持续时间。有什么想法吗


编辑:您可以对键与VK_A等的数字数据进行注释,我必须以不同的方式导入依赖项,以使keyEvent.VK_A不给出“不明确”错误,因此我正在更改这些数据。这对我遇到的问题没有任何影响。

我可以问一下roboDelayA的值吗?roboDelayA和roboDelay目前都设置为1,但在不同的移动持续时间内都是1-500。问题是延迟设置得太低了吗?延迟默认以毫秒为单位,按下和释放之间的1毫秒延迟可能会导致错误?无论我使用的值是多少,问题肯定会持续存在,不管1和500之间的值是多少,谢谢,即使500毫秒也只有半秒。如果你尝试更高的数字会发生什么?如果您需要更好的帮助,我建议发布一个我们可以复制并粘贴到自己的处理IDE中的。