@Override
public void resize(int width, int height) {
stage.getViewport().update(width, height);
}
在上面的代码中,一切看起来都很完美(让我们说是肖像)。但是,如果方向更改为横向,则视口会缩小并显示黑条。回到肖像,一切都重新开始。此外,舞台的高度/宽度似乎没有变化。
然后我尝试了以下代码:
@Override
public void resize(int width, int height) {
stage.getViewport().update(width, height);
stage.getCamera().viewportWidth = Gdx.graphics.getWidth();
stage.getCamera().viewportHeight = Gdx.graphics.getHeight();
System.out.println("-- stage width : " + stage.getWidth() +
"--- stage height : " + stage.getHeight());
setImageObjectStage(); //<-- reset actors position in stage, not working
}
我已设置活动以通过清单中的代码处理方向更改,以停止重新启动libgdx游戏/屏幕。
<activity android:name=".activity.MainMenuActivity"
android:configChanges="keyboard|keyboardHidden|screenSize|orientation"/>
现在,在从纵向到横向的方向变化时,舞台的宽度/高度会根据需要变化。但在景观方面,一切看起来都是黑色的。似乎演员位置不在屏幕上。所有演员的位置都是相对于舞台的尺寸设定的,所以按照逻辑他们应该在舞台上画出。我不知道出了什么问题。
因此,具体问题是如何在不重新加载屏幕的情况下处理libgdx中的方向更改。谢谢,