Chr*_*ris 3 java android libgdx scene2d
我一直在谷歌搜索有关如何使用Scene2D使用LibGDX的多个屏幕的教程.到目前为止,这是我在场景处理课中的内容,但我不知道从哪里开始.我知道我必须对构造函数做一些事情,MainMenu.java但我不知道它是什么.
到目前为止我得到了什么:
public class ScreenHandler extends Game{
public MainMenu Main;
@Override
public void create() {
Main= new MainMenu();
setScreen(Main);
}
}
Run Code Online (Sandbox Code Playgroud)
我不喜欢让我的屏幕课程与我的Game课程相结合.我正在使用的方法是我所有游戏屏幕的抽象类,它有一个标志和功能,表示正在请求"下一个屏幕".然后render我的Game类的方法可以检查该标志并相应地渲染新屏幕.
public class MyGame extends Game {
// ...
@Override
public void create() {
GameScreen screen1 = new GameScreen(); // extends AbstractScreen
GameScreen screen2 = new GameScreen(); // extends AbstractScreen
screen1.setNextScreen(screen2);
screen2.setBackScreen(screen1);
}
@Override
public void render() {
AbstractScreen currentScreen = (AbstractScreen) getScreen();
if (currentScreen.goBack) {
setScreen(currentScreen.getBackScreen());
} else if (currentScreen.goToNextScreen) {
setScreen(currentScreen.getNextScreen());
}
}
Run Code Online (Sandbox Code Playgroud)
在实践中,我实际上不会实例化方法中的所有屏幕,create而是根据需要具有创建/处理屏幕的方法,但是,上面是一般想法的简化.
然后,各个屏幕负责根据需要设置goBack和goToNextScreen标记.