我刚接触Libgdx,并写了一个类来扩展Game类。问题是,从Game中的setScreen()方法未能交换屏幕,因为在我设置屏幕之后,游戏仍然只呈现Game类的render方法中的内容,而不是屏幕类的render方法中的内容。以下是代码:
如果我运行此代码,即使在用户点击屏幕时更改屏幕,我也只会得到红色屏幕。
如果我运行此代码,即使在用户点击屏幕时更改屏幕,我也只会得到红色屏幕。
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
.
}