在我的LibGdx遊戲中,我創建了暫停功能。在玩遊戲時,如果按暫停按鈕,將顯示一個帶有恢復按鈕的單獨屏幕。繪製暫停屏幕作爲播放屏幕上的圖層 - LibGdx
實際上我想要做的是暫停屏幕應該像遊戲一樣出現在遊戲屏幕上方。
象下面這樣的遊戲的截屏:
我只能讓我在遊戲中有獨立的BG和所有新的暫停畫面。 我想顯示暫停的遊戲,因爲它是。我可以繪製恢復按鈕,框等圖形完全像屏幕截圖。
我怎樣才能讓這個圖層像顯示暫停屏幕一樣?
在我的LibGdx遊戲中,我創建了暫停功能。在玩遊戲時,如果按暫停按鈕,將顯示一個帶有恢復按鈕的單獨屏幕。繪製暫停屏幕作爲播放屏幕上的圖層 - LibGdx
實際上我想要做的是暫停屏幕應該像遊戲一樣出現在遊戲屏幕上方。
象下面這樣的遊戲的截屏:
我只能讓我在遊戲中有獨立的BG和所有新的暫停畫面。 我想顯示暫停的遊戲,因爲它是。我可以繪製恢復按鈕,框等圖形完全像屏幕截圖。
我怎樣才能讓這個圖層像顯示暫停屏幕一樣?
在Gamescreen中,您使用的是用戶界面(按鈕導航)。我很確定你是這樣做的。
private uiStage;
private boolean isPause;
private Group pauseGroup;
public void render(){
if(!isPause) UpdateGame();
DrawGame();
uiStage.act();
uiStage.draw();
}
如果想暫停遊戲並在想要恢復遊戲時刪除該組,請創建一個組。您也可以創建一次您的組,並在show()
方法中添加所有暫停UI。當您想要顯示暫停並在您恢復遊戲時刪除時,將該組添加到舞臺。
public void pauseGame(){
isPause = true;
pauseGroup = new Group;
Image semiTransparentBG= ......
// setSize(Size of screen) and make it semi transparent.
pauseGroup.addActor(semiTransparentBG);
//crate all other pause UI buttons with listener and add to pauseGroup
stage.addActor(pauseGroup);
}
public void resumeGame(){
if(isPause){
isPause=false;
pauseGroup.remove();
}
}
簡答:是的,你可以。 首先讓您的暫停屏幕擴展Stage類而不是Screen類。然後嘗試在遊戲結束後調用暫停屏幕的繪製。類似這樣的:
public void render(){
UpdateGame();
pause_screen.act();
DrawGame();
pause_screen.draw();
}
當暫停屏幕打開時停止遊戲更新。 關閉當然這是過於簡化,但你可以看看它。
不知道我理解你的問題,因爲答案似乎很明顯。畫出你的遊戲,然後繪製UI。它們是同一屏幕的一部分。 – Tenfour04
在我的情況下,我正在使用單獨的屏幕進行暫停。我想使圖層只顯示爲單獨的屏幕。當我嘗試這樣做時,我在暫停ui周圍獲得黑色背景。那就是問題所在。簡而言之,我想像彈出一樣顯示暫停屏幕。 – Niranjana
@Niranjana您是否使用了scene2d作爲您的粘貼紙,或者您可以使用GameScreen? – Aryan