Cara Menghancurkan PNG dengan Ketelusan dalam Pygame
Apabila cuba memasukkan imej PNG dengan ketelusan ke dalam permukaan, kawasan lutsinar mungkin kelihatan hitam dan bukannya lutsinar. Berikut ialah coretan kod biasa yang menunjukkan isu ini:
<code class="python">screen = pygame.display.set_mode((800, 600), pygame.DOUBLEBUF, 32) world = pygame.Surface((800, 600), pygame.SRCALPHA, 32) treeImage = pygame.image.load("tree.png") world.blit(treeImage, (0, 0), (0, 0, 64, 64)) screen.blit(world, pygame.rect.Rect(0, 0, 800, 600))</code>
Untuk menyelesaikan isu ini, adalah penting untuk mendayakan ketelusan alfa untuk imej PNG menggunakan kaedah convert_alpha():
<code class="python">treeImage = pygame.image.load("tree.png").convert_alpha()</code>
Dokumentasi Pygame (http://www.pygame.org/docs/ref/image.html) secara khusus menasihati:
"Untuk ketelusan alfa, seperti dalam imej .png gunakan kaedah convert_alpha() selepas memuatkan supaya imej mempunyai ketelusan setiap piksel."
Atas ialah kandungan terperinci Mengapa PNG Saya dengan Ketelusan Kelihatan Hitam dalam Pygame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!