2013-07-31 89 views
2

如何在Android中使用libgdx使背景透明?libgdx中的背景透明度

我試圖使用的代碼不起作用。

Gdx.gl.glClearColor(0, 0, 0, 0); 
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT); 
+1

你是什麼意思與背景?其實你所做的只是清除沒有顏色的屏幕。如果你想要透明的東西,你需要的東西是背景和閃耀。你不能讓窗口及其內容透明,所以你看到桌面! 請給我們更多的信息你想做什麼? – BennX

+0

你可以使用'.setAlpha(150);' –

回答

10

剛剛找到解決方案!

只需將此代碼添加到擴展AndroidApplication的類。

AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration(); 
cfg.r = cfg.g = cfg.b = cfg.a = 8; 

cfg.useGL20 = false; 

View view = initializeForView(new LineDrawing(), cfg); 

if (graphics.getView() instanceof SurfaceView) { 
      SurfaceView glView = (SurfaceView) graphics.getView(); 
      glView.getHolder().setFormat(PixelFormat.TRANSLUCENT); 
      glView.setZOrderOnTop(true); 
} 
+1

你是一個天才。 – BollMose

1

想想這樣 - 當你至少有兩件事情時透明度是可見的。如果你有一個黑色的背景,然後在它的頂部畫一個白色的透明度爲50%,你會看到穿過你的白色圖層的黑色背景。現在,在開始時你有屏幕。它可以是任何顏色。在這個屏幕下,什麼都沒有。所以,如果你需要透明度,用alpha通道繪製一些東西。