【问题标题】:Getting input from the onscreen Keyboard using libgdx使用 libgdx 从屏幕键盘获取输入
【发布时间】:2012-11-14 16:32:50
【问题描述】:

我正在尝试编写一个游戏,如果他们做某事,它将启动屏幕键盘。然后,如果他们触摸几个键,游戏会将场景更改为奖励级别。我目前正在使用 libgdx,它在带有真正键盘的桌面版本上运行良好。我无法让它在 android 版本上运行。

在渲染方法中:

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 键盘检测按键?

【问题讨论】:

  • 如果您设置InputProcessor 来获取输入事件(请参阅code.google.com/p/libgdx/wiki/InputEvent),是否会显示键盘更改?
  • 确实如此。我创建了一个新课程并停止轮询他们的关键。非常感谢您的帮助。

标签: java android libgdx android-input-method on-screen-keyboard


【解决方案1】:

Gdx.input.isKeyPressed 正在轮询键盘的状态,因此只有在实际按下键时才会为真。这可能不是屏幕键盘甚至可以报告的状态。

切换到InputProcessor 使得每个键盘事件都作为一个不同的事件传递。

更多详情请见http://code.google.com/p/libgdx/wiki/InputEvent

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-27
    • 2018-05-25
    • 1970-01-01
    • 2017-01-01
    • 1970-01-01
    • 2014-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多