我是 Libgdx 的新手,我写了一个扩展 Game 类的类,问题是 Game 中的 setScreen() 方法没有交换屏幕,因为在我设置屏幕后,我的游戏仍然只渲染渲染方法中的内容来自游戏类,而不是屏幕类的渲染方法中的内容。这是代码:
如果运行此代码,即使我在用户触摸(单击)屏幕时更改屏幕,我也只会得到一个红屏
class myGame extends Game
{
GameScreen myOtherScreen;
public void create()
{
//create other screen
myMenuScreen = new GameScreen();
}
public void render(float delta)
{
// change screens if screen touched
if(Gdx.input.justTouched())
setScreen(myOtherScreen);
//render red screen
Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
}
.
. //other methods
.
}
// ======= Screen Class ========
public class GameScreen implements Screen
{
@Override
public void render(float delta)
{
//render green screen
Gdx.gl.glClearColor(0, 1, 0, 1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
}
.
. //other methods
.
}