質問

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サーフェスは、カラーキーセットがある場合、単純なビットマスクを使用します。これは、実質的にオーバーヘッドなしでブリットします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top