Android libgdx:主菜单不';不显示游戏类libgdx

Android libgdx:主菜单不';不显示游戏类libgdx,android,menu,libgdx,screen,render,Android,Menu,Libgdx,Screen,Render,我是libgdx的新手,我对屏幕和主菜单有点问题。 我有一个主菜单类,它与点击演员一起工作。单击的代码为: pulsanteplay.addListener( new InputListener() { @Override public boolean touchDown(InputEvent event, float x, `float y, int pointer, int button) {

我是libgdx的新手,我对屏幕和主菜单有点问题。 我有一个主菜单类,它与点击演员一起工作。单击的代码为:

    pulsanteplay.addListener(
            new InputListener() {
                @Override
                public boolean touchDown(InputEvent event, float x,  `float y, int pointer, int button) {
                    System.out.println("click play");

                    game.setScreen(new GameClass());

                    return false;
                }
            });
它是有效的。如果我调用
Gdx.app.exit()它可以工作。如果我叫下一个班,那就行了

public class SplashScreen implements Screen {
private SpriteBatch batch;
private Texture ttrSplash;
private Timer timer;
private MainMenu mainMenuScreen;




public SplashScreen() {
    super();
    batch = new SpriteBatch();
    ttrSplash = new Texture("quadrato.png");

}

@Override
public void render(float delta) {
    Gdx.gl.glClearColor(0, 0, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    batch.begin();
    batch.draw(ttrSplash, 0, 0, Gdx.graphics.getWidth(),    Gdx.graphics.getHeight());

    batch.end();
}

@Override
public void hide() { }

@Override
public void pause() { }

@Override
public void resume() { }

@Override
public void show() { }

@Override
public void resize(int width, int height) { }

@Override
public void dispose() {
    ttrSplash.dispose();
    batch.dispose();
}
当我调用一个扩展了游戏的类并有一个render方法时,它就不起作用了。屏幕不会改变,但真正生成了游戏类的事件。 有人能解释为什么会这样?我如何纠正这种不良行为?
感谢您的关注

让该类扩展
游戏
只需实现
屏幕
并将代码放入相应的方法中即可。一个屏幕提供了
游戏
所能提供的一切,因此您应该可以轻松转换。您的
onCreate
代码可以放入
show
方法或新
屏幕的构造函数中。现在只需调用
setScreen()
即可显示此屏幕。

您应该只有一个扩展游戏的类!对不起,但是不行。这是我的类声明:公共类GameClass扩展了游戏实现ApplicationListener、InputProcessor、com.badlogic.gdx.Screen所有参与者的创建都在我称之为setScreen(new GameClass())的构造函数中;从我的mainmenu类,但MainMenuScreen始终可见,而game类则不可见……@user5618600这不是工作与否的问题。如果要更改
屏幕
,应使用屏幕。否则,请实现您自己的屏幕管理系统。
。设置屏幕
需要一个实现
屏幕
的类。我想说的就是这么做。它的方法与
Game
相同,但更多,而不是
onCreate
您有
show
或构造函数。这样做可以让你改变到任何你想要的屏幕。我在程序输入中的第一行通常是
.setScreen(newsomescreen())从那时起,我只使用screens.public类SplashScreen实现com.badlogic.gdx.Screen{private SpriteBatch batch;public SplashScreen(){batch=new SpriteBatch();System.out.println(“Costrutore SplashScreen”);}public void render(float delta){gdx.gl.glClearColor(0,0,0,1);Gdx.gl.glClear(GL20.gl_COLOR_BUFFER_BIT);batch.begin();Gdx.graphics.getHeight();batch.end();}尝试此操作。不工作:(