Slick的Input类具有isKeyPressed()方法,该方法根据是否已按下指定的键来返回布尔值。我想实现一种检查密钥是否以相同方式释放的方法。

我研究了在输入对象中添加KeyListener并覆盖keyReleased()方法。但是,我当前处理输入的方式是在update()BasicGame方法中。通过实现上述解决方案,我分解了我的代码,并在两个要避免的地方处理了输入。

最佳答案

输入没有keyReleased方法,因为它是类的轮询类型。如果按下了该键,则仅保留一个布尔值,然后根据请求查看是否被input.isKeyPressed(VK_KEY)按下了该值。

如果您看一下Kevin Glass在光滑主干中提供的InputTest示例,您将看到BasicGame和BasicGameState都带有一个称为isKeyPressed / isKeyReleased的方法。

InputTest.java Slick2D resource

这些是您正在寻找的方法,因为它们将使您对按下或释放键时的操作有更多的控制。

09-28 07:23