2012-04-09 11 views
6

古いゲームエンジンは、画像のパレットの最初の色を透明な色として指定します。 はlibGDXでも同じことをする方法はありますか?libGDX:パレットの最初の色を透明色として扱います。

私は画像を読み込み、パレットの最初の色を0x00000000に置き換えようとしました。 RGBA8888の代わりにRGB888を使用することで、たくさんのメモリを節約することができるので、ピクセルは不透明または透明のいずれかであるため、アルファ値は必要ありません。 他のブレンドオプションについては、gdxとopenglのドキュメンタリーを見て、Gdx.gl20.glBlendColorとSpriteBatchのsetBlendFunction関数を見つけました。それらは混合方程式で使用される値だけを変更します。事前に

感謝:)

+0

私はそれを行うための方法を知らない、と私はなぜ本当にわからないんだけど必要がある。私はほとんどのグラフィックサーフェスは32ビットだと思うので、24ビットイメージをロードしても変換されます。実際にはメモリが不足している場合を除いて、おそらくRGBA8888を使用することをお勧めします。 –

答えて

3

このようにルーチンを使用して透過的にtextureRegionを描く:

Color c = batch.getColor(); 
    batch.setColor(1, 1, 1, alpha); 
    batch.draw(....); 
    batch.setColor(c); 
関連する問題