4

如果我在 Android 中使用 libgdx,如何使屏幕背景透明?

我尝试使用的代码不起作用。

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

2 回答 2

13

刚刚找到解决办法!

只需将此代码添加到扩展 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);
}
于 2013-08-01T03:12:03.877 回答
1

这样想——当你至少有两件事时,透明度是可见的。如果你有一个黑色背景,然后在它上面画一个白色的,透明度说 50%,你会通过你的白色层看到黑色背景。现在,一开始你就有了屏幕。它可以是任何颜色。在那个屏幕下,什么都没有。因此,如果您需要透明度,请使用 Alpha 通道在其上绘制一些东西。

于 2013-07-31T12:54:21.807 回答