我目前正在Android上开发一款LibGDX游戏,但是当我在PC(桌面版)上启动游戏时,它可以正常工作,但是一旦我在手机上打开它(它连接到我的电脑,开发者模式已经开启) on),它首先显示glClear颜色,而不是它用于显示的精灵和对象。
但是当我打开和关闭手机时(待机/再次打开),它实际上会显示桌面版本上的所有精灵和对象。
截图: Before I turned my phone on and off
After I turned my phone on and off
这是我的主类的代码(仅限渲染方法)
@Override
public void render () {
super.render();
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
if(sm.getCurrentScreen() != null){
update();
sm.getCurrentScreen().render(sb);
}
}
我的GameScreen类(等于上述方法中的电流屏幕)
@Override
public void render(SpriteBatch sb) {
sb.begin();
sb.setProjectionMatrix(camera.combined);
sb.draw(TextureManager.background, 0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
em.renderEntities(sb);
sb.end();
}
再一次,它可以在PC上运行,并且当我打开和关闭手机时,它可以完全正常工作。当然,当我要发布游戏时,你必须在开始游戏之前打开和关闭手机并不好。然而,当屏幕的其余部分为黑色时,update()方法(请参阅主类中的代码)似乎有效。
希望有人可以帮助我!