有没有办法让半透明的圆圈具有完全透明的背景和中间完全不透明的框?

时间:2019-04-07 20:32:41

标签: python-3.x pygame transparency

我需要有一个用完全不透明的黑色矩形表示的“塔”。我还需要有一个圆圈来表示它可以在半透明范围内拍摄的范围。所有这些都必须是pygame.Surface表面具有完全透明的背景。如果需要澄清的话,我显然在课堂上使用它。我知道如何具有半透明的表面,但是我无法使它具有透明的背景,相反,它只是一个黑盒子。

1 个答案:

答案 0 :(得分:1)

您必须创建表面并使用alpha通道转换为表面。

 surface = surface.convert_alpha()

Nex,您必须用alpha=0中有[R,G,B,Alpha]的颜色填充它

 surface.fill([0,0,0,0]) 

您的表面空着,背景透明。

现在您可以使用不同的透明度进行绘制-您必须使用alpha-[R,G,B,Alpha]的颜色。

例如半透明圆(transparency 50% = alpha=128

pygame.draw.circle(surface, (0,0,0, 128), (100, 100), 100)

使用alpha=0,它将是不可见的;使用alpha=255,它将是完全不透明的。


如果您的.png具有透明性,则可以在加载后使用.convert_alpha()来获得透明性。

image = pygame.image.load("file.png").convert_alpha()

查看带有transparency in PyGame的示例

enter image description here