tengo tres clases que implementan libgdx clase Screen:libgdx: el botón atrás del teléfono continúa entre la pantalla de
MainMenuScreen, LevelSelectScreen, GameScreen
Por ahora he setCatchBackKey de MainMenuScreen se pone a falso, por lo que el juego se acaba de salida en la parte posterior presione.
LevelSelectScreen y GameScreen han establecidoCatchBackKey establecido en verdadero.
Dentro de la década de GameScreen función de hacer que tengo:
@Override
public void render(float delta)
{
gameTime = delta;
if (Gdx.input.isKeyPressed(Keys.BACK))
new LevelSelectScreen(game);
...
}
que fija la pantalla para mostrar el nivel de selección y en LevelSelectScreens de la función de hacer que tengo:
@Override
public void render(float delta)
{
if (Gdx.input.isKeyPressed(Keys.BACK))
new MainMenuScreen(game);
Update();
Draw();
} //end render
El problema me encuentro con esto es que cuando presiono de nuevo en GameScreen, LevelSelectScreen parpadea en la pantalla por un momento y luego vuelve directamente a MainMenuScreen.
Me imagino que podría establecer alguna variable para verificar si Back ya se está presionando cuando la pantalla se inicializa, pero era curioso si ya hay alguna función "mágica" incluida en LibGdx o solo una estructura de código que también funcionaría este problema.
Gracias por el consejo, voy a ver si puedo hacer algo así para solucionar mi problema. – Fleck