2013-07-31 93 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通道绘制一些东西。