如果有某种方法如何管理Libgdx中的后退按钮?

例如在Andengine中,我就是这样实现的:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
     if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
          switch (currentScene) {
               case SPLASH:
                   break;
               case MENU:
                   Process.killProcess(Process.myPid());
                   break;
               case WORLDMENU:
                       start(MENU);
                       break;
...
...
    }
  }
}

我不知道该怎么做,因为ApplicationListener仅创建,显示,渲染...
我尝试了这个:
if (Gdx.input.isButtonPressed(Keys.BACK)){
    new ScreenChangeTask(MyScreen.SPLASH);
}

但它仍然关闭我的应用程序。

仅供引用:我有class Controller extends Game,并且我使用public void setScreen (Screen screen)在屏幕之间切换。

最佳答案

为了正确执行此操作,您需要告诉LibGDX捕获后退键:

Gdx.input.setCatchBackKey(true);

您应该在应用程序的早期位置执行此操作。如果希望用户能够使用后退键,请将其设置为false。

关于java - 如何在Libgdx中管理具有多个屏幕的后退按钮?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15419062/

10-09 00:14
查看更多