2012-04-09 110 views
6

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

我试图加载图片并用0x00000000替换palete的第一个颜色。但因为像素是不透明或透明我不需要alpha值,所以我可以通过使用RGB888而不是RGBA8888节省大量的内存。 我通过gdx和opengl纪录片查找其他混合选项,并找到Gdx.gl20.glBlendColor和SpriteBatch的setBlendFunction函数。但它们只会改变混合方程中使用的值。

在此先感谢:)

+0

我不知道的方式做到这一点,我真的不知道为什么你需要。我认为大多数图形表面都是32位的,所以即使您加载24位图像,它也会被转换。除非您真的耗尽内存,否则最好只使用RGBA8888。 – 2012-04-10 19:44:51

回答

3

绘制textureRegion透明地使用这样的程序:

Color c = batch.getColor(); 
    batch.setColor(1, 1, 1, alpha); 
    batch.draw(....); 
    batch.setColor(c);