0

ゲームでスプライト シートを使用しようとしていますが、背景を透明にしたいのですが、swing や awt を使用してこれを実装するにはどうすればよいですか?

4

3 に答える 3

2

見てきた

  1. JXLayer (Java6)に基づく JLayer (Java7)

  2. 透明度

  3. を使用して透明度を設定するAlphaComposite

于 2012-09-12T08:50:53.847 に答える
1

PNG 32 ビットなど、背景の透明度を既にサポートしている形式を使用してシートを作成することをお勧めします。

半透明度と透明度のオプションは、画像の透明チャンネル全体を変更することしかできず、色に基づいて個々のビットに作用することはありません。

于 2012-09-12T09:00:30.927 に答える
1

を使用する mKorbel の提案を拡張すると、モードでペイントするAlphaCompositeことはできませんが、 の背景をクリアすることはできます。例えば、AlphaComposite.ClearBufferedImage

Graphics2D dstG = dstImage.createGraphics();
dstG.setComposite(AlphaComposite.Clear);
dstG.fillRect(0, 0, WIDTH, HEIGHT);

その後、別のモードでペイントすると、ペイントされていないピクセルが透明になります。

詳細については、この回答を参照してください。

于 2012-09-12T16:42:13.523 に答える