Java中停止windows键输入延迟
我正在创建一个侧滚游戏,当前当我按下箭头键时,角色会移动,暂停,然后无限期移动,直到释放键为止 暂停源于Windows配置中的按键延迟,因此,如果按住按键时间过长,您不会意外地重复键入按键 我想知道有没有办法摆脱这个 以下是我的按键代码:Java中停止windows键输入延迟,java,keyevent,Java,Keyevent,我正在创建一个侧滚游戏,当前当我按下箭头键时,角色会移动,暂停,然后无限期移动,直到释放键为止 暂停源于Windows配置中的按键延迟,因此,如果按住按键时间过长,您不会意外地重复键入按键 我想知道有没有办法摆脱这个 以下是我的按键代码: public void keyReleased(KeyEvent ke){} public void keyTyped(KeyEvent ke){} public void keyPressed(KeyEvent ke){ int code = k
public void keyReleased(KeyEvent ke){}
public void keyTyped(KeyEvent ke){}
public void keyPressed(KeyEvent ke){
int code = ke.getKeyCode();
if(code == KeyEvent.VK_UP){
if(playerY > 0){
playerY-=speed;
repaint();
}
}
else if(code == KeyEvent.VK_DOWN){
if(playerY < 600){
playerY+=speed;
repaint();
}
}
else if(code == KeyEvent.VK_RIGHT){
if(playerX < 800){
playerX+=speed;
repaint();
}
}
else if(code == KeyEvent.VK_LEFT){
if(playerX > 0){
playerX-=speed;
System.out.println(playerX);
repaint();
}
}
}
public void keyreased(KeyEvent ke){
public void keyTyped(KeyEvent ke){}
按下公共无效键(KeyEvent ke){
int code=ke.getKeyCode();
if(code==KeyEvent.VK_UP){
如果(播放>0){
游戏性-=速度;
重新油漆();
}
}
else if(code==KeyEvent.VK_DOWN){
if(游戏性<600){
玩耍+=速度;
重新油漆();
}
}
else if(code==KeyEvent.VK_RIGHT){
如果(playerX<800){
playerX+=速度;
重新油漆();
}
}
else if(code==KeyEvent.VK_LEFT){
如果(playerX>0){
playerX-=速度;
System.out.println(playerX);
重新油漆();
}
}
}
按键时,应设置一些变量,以确定移动。在键释放时,取消设置此变量
处理该变量的方法是调用该方法,例如moveLeft(),并在循环中检查该变量。在KeyReleased上,当您重新定义它时,循环结束。非常感谢。我刚刚为上下左右创建了4个布尔值,在我的run方法中,根据哪个布尔值为true,它将执行一个移动,然后将其延迟10 msBtw。例如,这个问题已经被问过好几次了……但没有一个问题的标题像我的一样。我知道如何做关键事件,只是不知道如何摆脱拖延。