Java-Slick2D : How to retrieve last key pressed?

标签 java input game-engine lwjgl slick2d

经过大量搜索,我还没有找到一个简单的解决方案来解决这个问题。

我正在合并一个按键绑定(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/

相关文章:

Java Scanner 无法读取我的 txt 文件

javascript - HTML 文本输入 * "value";在不同的文本输入中显示

2d - 你应该如何在 Vulkan 中更新每帧的纹理?

java - 使用并行流从两个字符串中查找匹配字符的第一个索引

java - 如何为某些文件禁用 Tomcat 压缩以提供 brotli 压缩内容?

java - 使用算术/位运算符实现关系运算符

html - 在 Z 轴上平移表单/输入

java - 我需要帮助用嵌套的 for 循环制作这个形状 [更新]

c++ - 为游戏引擎中的自定义内存分配重载 'new' 和 'delete' 有什么好处?

c# - 我可以在实现自己的 Vector2 结构的多个库中使用相同的 Vector2 结构吗?