有人可以给我一些示例代码,在pygame中创建一个透明背景的表面吗?
这应该这样做:
image = pygame.Surface([640,480], pygame.SRCALPHA, 32) image = image.convert_alpha()
确保颜色深度(32)保持明确设置,否则这将不起作用.
您也可以给它一个颜色键,就像GIF文件透明度一样.这是制作精灵的最常用方法.原始位图具有图稿,并且具有某种颜色作为背景,不会被绘制,这是colorkey:
surf.set_colorkey((255,0,255)) // Sets the colorkey to that hideous purple
blit使用colorkey而不是alpha的表面要快得多,因为它们不需要任何混合数学运算.当SDL表面具有颜色键集时,它使用简单的位掩码,该颜色键实际上没有开销.