Slick的Input
类有一个isKeyPressed()
方法,根据是否按下了指定的键,返回一个布尔值。我想实现一种检查密钥是否以相同方式发布的方法。
我研究了在输入对象中添加KeyListener
并覆盖keyReleased()
方法。但是,我目前处理输入的方式是update()
的{{1}}方法。通过实现上述解决方案,我破坏了我的代码并在两个不同的地方处理输入,我想避免。
答案 0 :(得分:1)
输入没有keyReleased方法,因为它是类的轮询类型。如果按下了键,它只保留一个布尔值,然后在看到input.isKeyPressed(VK_KEY)按下它时是否放弃该值。
如果查看Kevin Glass提供的光滑主干中提供的InputTest示例,您将看到BasicGame和BasicGameState都带有一个名为isKeyPressed / isKeyReleased的方法。
InputTest.java Slick2D resource
这些是您正在寻找的方法,因为它们可以让您更好地控制按下或释放按键时发生的情况。