如何在Libgdx的方向改变中重置Actor的位置?

时间:2016-01-24 11:19:18

标签: android libgdx scene2d

@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中的方向更改。谢谢,

0 个答案:

没有答案