Background transparency in libgdx

2019-02-15 06:41发布

How can I make background of screen transparent if I use libgdx in Android?

The code I tried to use doesn't work.

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

2条回答
老娘就宠你
2楼-- · 2019-02-15 07:17

Think it this way - transparency is visible when you have at least two things. If you have a black background and then draw a white one on top of it with transparency say 50%, you will see black background through your white layer. Now, at the start you have the screen. It can be of any color. Under that screen, there's nothing. So, if you need transparency, draw something on top of it with alpha channel.

查看更多
Luminary・发光体
3楼-- · 2019-02-15 07:24

Just found a solution!

Just add this code to the class that extends 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);
}
查看更多
登录 后发表回答