对于我的游戏,我希望Android后退按钮带你进入暂停菜单,而不是最小化游戏.从我用谷歌搜索,我知道我需要打电话
Gdx.input.setCatchBackKey(true);
Run Code Online (Sandbox Code Playgroud)
但是我如何实际检查按钮按下?input.isKeyDown(Keys.BACK)似乎没有做任何事情.
小智 76
我解决了这个问题:
public class MyApplication implements ApplicationListener, InputProcessor {
// !! Remember to override all other required methods !!
...
@Override
public void create() {
Gdx.input.setInputProcessor(this);
Gdx.input.setCatchBackKey(true);
// rest of your stuff...
}
...
@Override
public boolean keyDown(int keycode) {
if(keycode == Keys.BACK){
// Do your optional back button handling (show pause menu?)
}
return false;
}
...
}
Run Code Online (Sandbox Code Playgroud)
不是copypasta的东西,但希望这可以帮助你.:)
小智 28
您可以使用Gdx.input.isKeyPressed方法.
if (Gdx.input.isKeyPressed(Keys.BACK)){
// Do something
}
Run Code Online (Sandbox Code Playgroud)
she*_*tan 19
首先创建一个InputProcessor来处理后退键操作,然后将其添加到多路复用器,以便其他组件仍然接收类似的事件.
InputProcessor backProcessor = new InputAdapter() {
@Override
public boolean keyDown(int keycode) {
if ((keycode == Keys.ESCAPE) || (keycode == Keys.BACK) )
// Maybe perform other operations before exiting
Gdx.app.exit();
return false;
}
};
InputMultiplexer multiplexer = new InputMultiplexer(mStage,
backProcessor);
Gdx.input.setInputProcessor(multiplexer);
Run Code Online (Sandbox Code Playgroud)
并启用捕获后退键.
Gdx.input.setCatchBackKey(true);
Run Code Online (Sandbox Code Playgroud)
这就是全部.祝好运!
| 归档时间: |
|
| 查看次数: |
30460 次 |
| 最近记录: |