4

我正在嘗試編寫遊戲,如果他們執行某些操作,它將啓動屏幕鍵盤。然後,如果他們觸摸幾個鍵,遊戲會將場景改變爲獎勵級別。我目前正在使用libgdx,它在桌面版上使用真正的鍵盤效果很好。我無法讓它在Android版本上工作。使用libgdx從屏幕鍵盤獲取輸入

在渲染方法:

if (Gdx.input.isTouched()) { 
    Vector3 touchPos = new Vector3(); 
    touchPos.set(Gdx.input.getX(), Gdx.input.getY(), 0); 
    camera.unproject(touchPos); 

    ... 
} else if (touchPos.x > 0 && touchPos.x < 200 
      && touchPos.y > 0 && touchPos.y < 50) { 
    Gdx.input.setOnscreenKeyboardVisible(true); 
} 

這個偉大的工程。這整個點就是讓鍵盤出現。它確實做到了。但是,當我嘗試檢測按鍵按:

if (Gdx.input.isKeyPressed(Keys.A)) { 
    // Do What I need it to do. 
} 

我沒有得到這個有史以來的真正價值。不管什麼關鍵或價值。如何檢測libGDX中的屏幕Android鍵盤按鍵?

+2

如果您設置了一個InputProcessor來獲取輸入事件(請參閱http://code.google.com/p/libgdx/wiki/InputEvent),那麼鍵盤更改會顯示在那裏? –

+0

它的確如此。我創建了一個新課程並停止了他們關鍵的投票。非常感謝你的幫助。 – Keylay

回答

2

Gdx.input.isKeyPressed正在輪詢鍵盤的狀態,所以只有當鍵被按下時纔會發生。這可能不是屏幕鍵盤甚至可以報告的狀態。

切換到InputProcessor 使每個鍵盤事件都作爲獨特的事件發送。

查看http://code.google.com/p/libgdx/wiki/InputEvent瞭解更多詳情。