2012-04-09 64 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);