您可以通过多种方式执行此操作。一种方法是在程序中使用布尔值。
您可以在按下某个键时将布尔值设置为 true,在释放它们时将其设置为 false。IE:
int x,xSpeed;
boolean movingLeft = false;
boolean movingRight = false;
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
if(key == KeyEvent.VK_LEFT){
movingLeft = true;
}
if(key == KeyEvent.VK_RIGHT){
movingRight = true;
}
}
public void keyReleased(KeyEvent e) {
int key = e.getKeyCode();
if(key == KeyEvent.VK_LEFT){
movingLeft = false;
}
if(key == KeyEvent.VK_RIGHT){
movingRight = false;
}
}
public void moving(){
if(movingLeft){
x -= xSpeed;
}
if(movingRight){
x += xSpeed;
}
}
好的,让我们看看这段代码。因为我们使用的是“else if”,您要么向右移动,要么向左移动。我还没有测试这段代码,所以不太确定这是否可行:)
让我知道你的想法,祝你好运!