2013-07-03 34 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