4

ゲームを作成しようとしていますが、彼らが何かをすると、オンスクリーン キーボードが起動します。次に、いくつかのキーに触れると、ゲームのシーンがボーナス レベルに変わります。私は現在libgdxを使用していますが、実際のキーボードを備えたデスクトップバージョンでうまく機能します。Android版では動作しません。

render メソッドでは:

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 キーボードからキーの押下を検出するにはどうすればよいですか?

4

1 に答える 1

2

Gdx.input.isKeyPressedはキーボードの状態をポーリングしているため、キーが実際に押されている場合にのみ true になります。これはおそらく、オンスクリーン キーボードが報告できる状態ではないでしょう。

に切り替えると、InputProcessor 各キーボード イベントが個別のイベントとして配信されるようになります。

詳細については、 http://code.google.com/p/libgdx/wiki/InputEventを参照してください。

于 2013-01-29T02:03:21.167 に答える