这是我程序的主类中的一种方法。它具有我想要的控件(按“ i”将调用Field.ship.push(0,-1)),但是我需要知道如何在程序中实现它们,使其真正起作用?请告诉我需要添加到主程序中的内容,以便在玩游戏时可以使用控件。谢谢

public void keyPressed(KeyEvent event) {
    char eventChar = event.getKeyChar();
    if (eventChar == 'i') {
        Field.ship.push(0, -1);
    } else if (eventChar == 'j') {
        Field.ship.push(-1, 0);
    } else if (eventChar == 'k') {
        Field.ship.push(0, 1);
    } else if (eventChar == 'l') {
        Field.ship.push(1, 0);
    } else if (eventChar == 'a') {
        Field.addBullets();
    }

}

最佳答案

不要使用KeyListener。

请参阅Motion Using the Keyboard,了解为何不应该使用KeyListener的原因,以及使用Key Bindings的示例(这是首选方法)来入门的原因。

08-05 03:33