在我的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