gpt4 book ai didi

java - Java 中停止窗口按键输入延迟

转载 作者:行者123 更新时间:2023-12-01 13:03:06 26 4
gpt4 key购买 nike

我正在创建一个横向卷轴游戏,目前当我按下箭头键时,角色会移动、暂停,然后无限移动,直到松开按键。

暂停来自带有按键延迟的 Windows 配置,因此如果您按住按键时间过长,您不会意外地键入重复的按键。

我想知道是否有办法摆脱这个问题。

这是我的按键代码:

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();
}
}
}

最佳答案

当按下该键时,您应该设置一些变量来确定移动。在 KeyReleased 上,您取消设置此变量。

处理此问题的方式是调用方法,例如 moveLeft(),并在循环中检查此变量。在 KeyReleased 上,当您重新定义它时,循环结束。

关于java - Java 中停止窗口按键输入延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23404863/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com