我做了一个占位符屏幕,因为它是空的我只是把它调用它的构造函数中的下一个屏幕。下一个屏幕是运行它的构造函数,但没有显示我放置的标签。当我跳过占位符屏幕并直接进入新屏幕时,它正在正确绘制它。为什么呢?
放置持有人菜单
public PlaceHolderMenu()
{
camera = new OrthographicCamera();
camera.setToOrtho(false, 720, 1280);
batch = new SpriteBatch();
skin = Assets.menuSkin;
stage = new Stage(new FitViewport(TechnoFlux.WIDTH, TechnoFlux.HEIGHT, camera), batch);
//No need for this screen yet so just call the next one...
((Game)Gdx.app.getApplicationListener()).setScreen(new GameScreen());
}
新屏幕
public GameScreen() {
camera = new OrthographicCamera();
camera.setToOrtho(false, 720, 1280);
batch = new SpriteBatch();
skin = Assets.menuSkin;
stage = new Stage(new FitViewport(TechnoFlux.WIDTH, TechnoFlux.HEIGHT, camera), batch);
Label test = new Label("GAMESCREEN", skin, "largetext");
bottomUI = new Table();
bottomUI.row();
bottomUI.add(test);
bottomUI.setFillParent(true);
stage.addActor(bottomUI);
Gdx.input.setInputProcessor(stage);
}
@Override
public void render(float delta) {
Gdx.gl.glClearColor(.2f, .2f, .3f, 1);
Gdx.gl.glClear(GL30.GL_COLOR_BUFFER_BIT);
stage.act();
stage.draw();
}
以上所有代码都在运行,但占位符介于两者之间,但未显示标签。我很确定当我向占位符屏幕添加一个指向新屏幕的按钮时,它将再次显示。我想它必须对资产加载或Screen类本身做些什么。我正在寻找对此行为的一些见解。