slick2d整数和键盘输入

时间:2015-03-22 11:17:36

标签: java slick2d

我正在尝试使用slick2d为我的java项目创建一个应用程序。

我的应用程序是一款游戏(我真的不想解释细节,这与问题无关)。但基本上我想在按下指定的键时添加1个整数(例如'k')。因此,当我按k时,整数会增加很多值,当它应该只有1.我认为它与int delta有关?这是我的代码:

public void update(GameContainer gc, StateBasedGame sbg, int delta) throws   SlickException {  
    Input input = gc.getInput();   
    if (clickPic[0] == true) {  
        if (input.isKeyDown(Input.KEY_K)) {  
            energy++;  
        }  
        if (input.isKeyDown(Input.KEY_F)) {  
            life--;  
        }  
        if (input.isKeyDown(Input.KEY_M)) {  
            life--;  
        }  
    }  

}  

1 个答案:

答案 0 :(得分:1)

只需添加下一个值,直到释放密钥为止。添加标记并在按键启动时将其清除。

if (input.isKeyDown(Input.KEY_K) && !energyPressed) {
    energy++;
    energyPressed = true;
}
if (!input.isKeyDown(Input.KEY_K)) {
    energyPressed = false;
}

在类的顶部声明boolean energyPressed。这将有效。