我试图在暂停菜单的背景上显示截图。
我的屏幕截图方法使用ScreenUtils.getFrameBufferPixmap()
来获取屏幕截图;我是从here.
我的暂停屏幕代码如下:
public class CEscapeScreen implements CScreen {
private final Stage stage;
private class BGActor extends Actor {
Pixmap pixmap = CUtil.getScreenshot(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), false);
Texture t = new Texture(pixmap);
@Override
public void draw(Batch batch, float alpha) {
batch.draw(t, 0, 0);
}
}
public CEscapeScreen(CGame g) {
Actor bgActor = new BGActor();
stage = new Stage();
final TextButton quitButton = new TextButton("Quit to Main Menu", CUi.getUISkin(), "default");
...
table.add(quitButton);
stage.addActor(bgActor);
stage.addActor(table);
}
@Override
public void display() {
stage.draw();
}
}
程序所在的当前display
每帧调用Screen
方法。
我想要完成的是在绘制暂停屏幕阶段之前获取屏幕截图,然后在quitButton
后面绘制屏幕截图。
其他Screen
清除并制作一个新的Stage
。
我遇到的问题是,只有quitButton
出现在退出菜单上。为什么会这样?