Cara Mengekalkan Ketelusan PNG Apabila Menggabungkan dengan Pygame
Apabila cuba menindih imej PNG dengan ketelusan pada permukaan Pygame, pengguna mungkin menghadapi isu di mana kawasan lutsinar menjadi hitam selepas berkelip. Untuk menyelesaikan masalah ini, ikuti langkah berikut:
1. Tetapkan Permukaan Alfa:
Pastikan permukaan penerima (cth., dunia) dicipta dengan bendera pygame.SRCALPHA untuk mendayakan ketelusan alfa.
<code class="python">world = pygame.Surface((800, 600), pygame.SRCALPHA, 32)</code>
2. Tukar Imej Input:
Untuk mengekalkan ketelusan, tukar imej PNG yang dimuatkan menggunakan kaedah convert_alpha(), seperti yang disyorkan dalam dokumentasi Pygame:
<code class="python">treeImage = pygame.image.load("tree.png") treeImage = treeImage.convert_alpha()</code>
3. Kod Dioptimumkan:
Dengan pengubahsuaian ini, kod tersebut akan berjaya menggabungkan imej PNG ke permukaan dunia sambil mengekalkan ketelusannya:
<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").convert_alpha() world.blit(treeImage, (0,0), (0,0,64,64)) screen.blit(world, pygame.rect.Rect(0,0, 800, 600))</code>
Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Ketelusan PNG Apabila Mengadun dalam Pygame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!