Domanda

Qualcuno può darmi qualche codice di esempio che crea una superficie con uno sfondo trasparente in pygame?

È stato utile?

Soluzione

Questo dovrebbe farlo:

image = pygame.Surface([640,480], pygame.SRCALPHA, 32)
image = image.convert_alpha()

Assicurati che la profondità del colore (32) rimanga esplicitamente impostata altrimenti non funzionerà.

Altri suggerimenti

Puoi anche dargli un colorkey, proprio come la trasparenza dei file GIF. Questo è il modo più comune di produrre sprite. La bitmap originale ha la grafica e ha un certo colore come sfondo che non verrà disegnato, che è il colorkey:

surf.set_colorkey((255,0,255)) // Sets the colorkey to that hideous purple

Le superfici che usano colorkey invece di alfa sono molto più veloci da applicare poiché non richiedono alcuna matematica di fusione. La superficie SDL usa una semplice maschera di bit quando ha un set di colorkey, che si fonde praticamente senza sovraccarico.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top