在我的LibGdx游戏中,我创建了暂停功能。在玩游戏时,如果按下暂停按钮,则会显示一个带有恢复按钮的单独屏幕。
实际上我想要做的是暂停屏幕应该像游戏一样出现在游戏屏幕上方。
就像下面游戏的屏幕截图一样:
我只能使用单独的bg和所有内容在我的游戏中创建一个新的暂停屏幕。 我希望显示暂停的游戏。最后我可以为简历按钮,框等绘制图形,就像屏幕截图一样。
如何实现此图层,如显示暂停画面?
答案 0 :(得分:2)
在Gamescreen中,您可以使用舞台UI(导航按钮)。我很确定你这样做。
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();
}
}
答案 1 :(得分:0)
简短回答:是的,你可以。 首先让暂停屏幕扩展Stage类而不是Screen类。然后在绘制游戏后尝试调用暂停屏幕的绘制。像这样:
public void render(){
UpdateGame();
pause_screen.act();
DrawGame();
pause_screen.draw();
}
暂停屏幕打开时停止游戏更新。 当然,这已经过度简化,但您可以查看它。