爲了組織的緣故,我爲我的遊戲使用了多個場景,而不是讓每個場景都有一個接收視口的構造函數(我的遊戲是可縮放的),我想將每個階段的視口分別設置爲構造函數,然後在設置視口後添加演員。在主類,它會發生這樣的:LibGDX - Stage.setViewport(new Viewport())黑色屏幕
public void setStage(Stage s)
{
if(currentStage != null)
currentStage.dispose();
currentStage = s;
currentStage.setViewport(view);
}
爲了使這一走流體,每個階段都有被稱爲被覆蓋的setViewport內的init方法:
@Override
public void setViewport(Viewport v)
{
super.setViewport(v);
init();
}
然而,這一切都使我是一個黑屏......我試圖更新相機和視口,但無濟於事(請注意演員正在調用其渲染方法)。
爲什麼我得到這個黑屏,我該如何解決?如果這是不可能的,我會恢復使用構造函數。
這或多或少是我所做的,除了我在我的舞臺上覆蓋了setViewport方法(我曾在一個從舞臺延伸出來的類中做過一次,然後我所有的狀態都擴展了這個類)。如果您創建自己的視口,則只需要調用一次更新。 – StrongJoshua