我想用一些按鈕做一個彈出屏幕,與屏幕誰調用此彈出窗口相比,此屏幕很小。從libgdx中當前屏幕的alpha背景彈出
因此,爲了使它看起來更好看,我認爲使用當前屏幕的alpha版本作爲彈出窗口的背景。
我有一些邏輯做 「好」,如:
...
TextureRegion screenShot = new TextureRegion(ScreenUtils.getFrameBufferTexture());
setScreen(new PopupScreen(this, screenShot));
...
PopupScreen的
而且在渲染(),我只呈現截圖PARAM。
這種工作方式就像在桌面版本上超級快速的魅力。
但是,當我在Android上運行這個命令ScreenUtils.getFrameBufferTexture命令很慢:? (在GS4上測試)。
所以問題是:我做錯了什麼或有什麼其他方式來完成這個?
THX所有
Thx for your answer。 是的..在android上需要將近1秒來處理getFrameBufferTexture。我已經嘗試了完全透明的這種方法,但由於render()的清晰命令,我無法使它工作:Gdx.gl.glClearColor(1,1,1,0); Gdx.gl.glClear (GL20.GL_COLOR_BUFFER_BIT); 如果我刪除清除..圖像被繪製在每一幀本身:S 有沒有辦法清除當前屏幕,但留下最後一個屏幕? – Vingadero
清除屏幕後,渲染你的遊戲屏幕,然後渲染菜單屏幕(我不覺得它的價值在於不清除渲染屏幕上的遊戲)。 –
Hello @ P.T。感謝你的想法,我做了像你這樣的事情:1)繪製世界遊戲2)暫停世界,並在所有屏幕上繪製一個alpha圖像,3)繪製popoup。不知道這是否是最好的方法,但它是有效的。問候 – Vingadero