有没有办法让半透明的圆圈背景完全透明,中间是完全不透明的盒子?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有没有办法让半透明的圆圈背景完全透明,中间是完全不透明的盒子?相关的知识,希望对你有一定的参考价值。
我需要一个由黑色矩形代表的“塔”,它是完全不透明的。我也需要有一个圆圈来表示它可以拍摄的半透明范围。这一切都需要是一个pygame.Surface表面具有完全透明的背景。如果需要澄清,我显然在课堂上使用它。我知道如何有一个半透明的表面,但我不能让它有一个透明的背景,而只是一个黑盒子。
答案
您必须创建曲面并使用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的示例
以上是关于有没有办法让半透明的圆圈背景完全透明,中间是完全不透明的盒子?的主要内容,如果未能解决你的问题,请参考以下文章