ゲームでスプライト シートを使用しようとしていますが、背景を透明にしたいのですが、swing や awt を使用してこれを実装するにはどうすればよいですか?
質問する
88 次
3 に答える
2
見てきた
JXLayer (Java6)に基づく JLayer (Java7)
を使用して透明度を設定する
AlphaComposite
于 2012-09-12T08:50:53.847 に答える
1
PNG 32 ビットなど、背景の透明度を既にサポートしている形式を使用してシートを作成することをお勧めします。
半透明度と透明度のオプションは、画像の透明チャンネル全体を変更することしかできず、色に基づいて個々のビットに作用することはありません。
于 2012-09-12T09:00:30.927 に答える
1
を使用する mKorbel の提案を拡張すると、モードでペイントするAlphaComposite
ことはできませんが、 の背景をクリアすることはできます。例えば、AlphaComposite.Clear
BufferedImage
Graphics2D dstG = dstImage.createGraphics();
dstG.setComposite(AlphaComposite.Clear);
dstG.fillRect(0, 0, WIDTH, HEIGHT);
その後、別のモードでペイントすると、ペイントされていないピクセルが透明になります。
詳細については、この回答を参照してください。
于 2012-09-12T16:42:13.523 に答える