目前,我正在用java进行二维RPG比赛。 我刚刚完成了KeyAdapter类并将其添加到我的画布中:
public class KeyManager extends KeyAdapter {
private float speed = 3;
public void keyPressed(KeyEvent e) {
int code = e.getKeyCode();
if (code == KeyEvent.VK_UP) {
Level.getLevel();
Levels.setVelY(+speed);
}
if (code == KeyEvent.VK_DOWN) {
Level.getLevel();
Levels.setVelY(-speed);
}
if (code == KeyEvent.VK_LEFT) {
Level.getLevel();
Levels.setVelX(+speed);
}
if (code == KeyEvent.VK_RIGHT) {
Level.getLevel();
Levels.setVelX(-speed);
}
if (code == KeyEvent.VK_SHIFT) {
speed = 5;
}
}
public void keyReleased(KeyEvent e) {
Level.getLevel();
Levels.setVelX(0);
Level.getLevel();
Levels.setVelY(0);
speed = 3;
}
}
事实上一切正常,但如果我同时按下两个键(例如向上和向右箭头键),我的播放器会停止移动(我认为好的翻译是棒)大约半秒钟。有人能解释我为什么会这样,以及如何解决问题。这很烦人。
谢谢!