(LibGDX)在舞台上显示先前FrameBuffer的屏幕截图

时间:2015-02-19 01:10:31

标签: java libgdx

我试图在暂停菜单的背景上显示截图。

我的屏幕截图方法使用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出现在退出菜单上。为什么会这样?

0 个答案:

没有答案