0
我有一个简单的三个屏幕结构:开始,菜单和游戏。 当用户在游戏中并按下后退按钮时,返回到菜单屏幕,然后再次按下,进入开始屏幕。像下面的图片一样。Libgdx - 在Android中的屏幕之间导航
的问题是直行到开始屏幕,当我按下游戏画面后退按钮。应该去菜单屏幕。
这是正确的方法吗?
类:
public class GameScreen extends ScreenAdapter implements InputProcessor, Screen, GestureListener
public class MenuScreen extends ScreenAdapter implements InputProcessor
public class StartScreen extends ScreenAdapter implements InputProcessor
在这两个类别:
Show(){
Gdx.input.setCatchBackKey(true);
}
在GameScreen类:
@Override
public boolean keyDown(int keycode) {
if(keycode == Keys.BACK){
bb.setScreen(new MenuScreen(bb,game,adsController,actionResolver));
}
return false;
}
在菜单屏幕类:
render() {
if (Gdx.input.isKeyJustPressed(Keys.BACK)){
bb.setScreen(new StartScreen(bb,game,adsController,actionResolver));
}
}
注意:下面的代码在GameScreen上可以正常工作,但在MenuScreen或StartScreeen上,当按下后退按钮时,什么都不会发生。为什么?
@Override
public boolean keyDown(int keycode) {
if(keycode == Keys.BACK){
bb.setScreen(new MenuScreen(bb,game,adsController,actionResolver));
}
return false;
}
而关于第一个问题(问题是当我按下游戏屏幕上的后退按钮时,会直接进入开始屏幕。应该去菜单屏幕)任何建议?或者这样解决了这两个问题? – user3771516
尝试使用onkeyup代替按键,我怀疑它是一种通过即时调用开始菜单的问题,因为后退按钮仍然关闭。 –
GameScreen Class可以与inputmultiplexer配合使用,但是StartScreen和MenuScreen不会,keyUp或keyDown什么也不做。渲染方法只有Gdx.input.isKeyJustPressed有效。任何想法? – user3771516