libGDX:将调色板中的第一种颜色视为透明颜色

Shi*_*nni 6 android blending transparent color-palette libgdx

旧游戏引擎将图像调色板的第一种颜色指定为透明颜色. 有没有办法用libGDX做同样的事情?

我尝试加载图片并用0x00000000替换palete的第一个颜色.然而,由于像素是不透明或透明的,我不需要alpha值,所以我可以通过使用RGB888而不是RGBA8888来节省大量内存.我lookes通过GDX和OpenGL纪录片其他混合选项,发现Gdx.gl20.glBlendColor和SpriteBatch的setBlendFunction功能.但它们只改变混合方程中使用的值.

提前致谢 :)

Ali*_*aaa 3

要透明地绘制纹理区域,请使用如下例程:

    Color c = batch.getColor();
    batch.setColor(1, 1, 1, alpha);
    batch.draw(....);
    batch.setColor(c);
Run Code Online (Sandbox Code Playgroud)