2012-11-14 101 views
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了解更多详情。