2013-07-03 29 views

回答

4

看了一下库的文档,它似乎没有公开任何其他方式获取按键(特别是按下键/释放)。在这种情况下,您可以使用spaceAlreadyPressed变量自行保留更改,该变量在帧之间保持不变。

... 
boolean spaceIsPressed = Gdx.input.isKeyPressed(Keys.SPACE); 
if (spaceIsPressed && !spaceAlreadyPressed) { 
    shoot(); 
} 
... 
spaceAlreadyPressed = spaceIsPressed; 

这可能是更安全的情况下,使用一个可变spaceIsPressed意外的输入状态变化。


另外,如果你想让它更短,您可以使用逻辑的法律,以减少对以下内容,其中canShoot也仍然存在帧之间并具有false的初始值。

7

Libgdx InputProcessor接口有方法来接收keyDownkeyUp事件。这可能是你应该使用的。

+0

是的,这样好多了。 – Zong