Pygameで透明な背景を持つ表面を作成する方法
-
11-07-2019 - |
質問
pygameで透明な背景を持つ表面を作成するコード例を教えてもらえますか?
解決
これでうまくいくはずです:
image = pygame.Surface([640,480], pygame.SRCALPHA, 32)
image = image.convert_alpha()
色深度(32)が明示的に設定されたままになっていることを確認してください。そうでない場合、これは機能しません。
他のヒント
GIFファイルの透明度のように、カラーキーを与えることもできます。これは、スプライトを作成する最も一般的な方法です。元のビットマップにはアートワークがあり、描画されない背景として特定の色があります。これがカラーキーです。
surf.set_colorkey((255,0,255)) // Sets the colorkey to that hideous purple
アルファの代わりにカラーキーを使用するサーフェスは、ブレンド計算を必要としないため、ブリットがはるかに高速です。 SDLサーフェスは、カラーキーセットがある場合、単純なビットマスクを使用します。これは、実質的にオーバーヘッドなしでブリットします。
所属していません StackOverflow