经过大量搜索,我还没有找到一个简单的解决方案来解决这个问题。
我正在合并一个按键绑定(bind)设置部分,我需要弄清楚用户何时按下某个键以及按下哪个键。
我正在使用 Java Slick2D 游戏引擎。 Slick2D java 文档:http://slick.ninjacave.com/javadoc/
示例(不起作用):
private void setLastKey(GameContainer container){
if(clickedRectangle != null){
lastKeyPressed = container.getInput();
}else{
lastKeyPressed = null;
}
}
最佳答案
在update
方法中,传递了一个GameContainer
对象。您可以使用方法 container.getInput()
来获取 Input
对象。您可以使用它。
public void update(GameContainer container, StateBasedGame game, int delta) throws SlickException {
if (container.getInput().isKeyPressed(Input.KEY_N))
System.out.println("N key is pressed.");
}
引用这篇文章的评论:
You can't ask for what key is pressed because multiple can be.
关于Java-Slick2D : How to retrieve last key pressed?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23715942/