Como fazer uma superfície com fundo transparente em pygame
-
11-07-2019 - |
Pergunta
Alguém pode me dar algum código de exemplo que cria uma superfície com fundo transparente em pygame?
Solução
Isso deve fazê-lo:
image = pygame.Surface([640,480], pygame.SRCALPHA, 32)
image = image.convert_alpha()
Certifique-se de que a profundidade de cor (32) estadias explicitamente definido o mais isto não vai funcionar.
Outras dicas
Você também pode dar-lhe um colorkey, bem como a transparência arquivo GIF. Esta é a maneira mais comum de fazer sprites. O bitmap original tem a obra de arte, e tem uma determinada cor como pano de fundo que não vai ser desenhado, que é o colorkey:
surf.set_colorkey((255,0,255)) // Sets the colorkey to that hideous purple
As superfícies que usos colorkey em vez de alfa são muito mais rápidos para blit uma vez que não requer qualquer matemática mistura. A superfície SDL usa uma simples máscara de bits quando se tem um conjunto colorkey, que blits praticamente sem sobrecarga.