Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Kod PyGame Saya Tidak Menarik Apa-apa?
Projek PyGame anda bertujuan untuk mencipta latar belakang dengan bahagian bawah kelabu dan bahagian atas hitam, menggunakan pygame.draw.rect() fungsi. Walaupun pengalaman sebelumnya yang berjaya dengan fungsi ini, anda menghadapi hasil lukisan yang tidak konsisten. Kadangkala, anda mendapat skrin hitam, manakala pada masa lain, segi empat tepat kelabu muncul sebahagiannya pada skrin.
Kekeliruan timbul daripada fakta bahawa lukisan sahaja tidak menghasilkan output yang kelihatan dalam PyGame. Selepas mengubah suai permukaan yang berkaitan, anda perlu mengemas kini paparan untuk membuat perubahan tersebut kelihatan.
Lukisan berlaku pada objek Surface yang dikaitkan dengan paparan PyGame. Walau bagaimanapun, perubahan ini tidak ditunjukkan secara automatik dalam paparan. Untuk menjadikannya kelihatan, anda mesti mengemas kini paparan secara eksplisit menggunakan pygame.display.update() atau pygame.display.flip().
pygame.display.flip() mengemas kini keseluruhan paparan, manakala pygame.display.update() menyediakan lebih banyak kemas kini terpilih untuk kawasan tertentu pada skrin. Ia biasanya lebih dioptimumkan untuk paparan perisian tetapi tidak disokong untuk paparan dipercepatkan perkakasan.
Gelung aplikasi PyGame biasa terdiri daripada beberapa langkah:
Berikut ialah kod diubah suai yang termasuk kemas kini paparan:
import pygame from pygame.locals import * pygame.init() DISPLAY = pygame.display.set_mode((800,800)) pygame.display.set_caption("thing") clock = pygame.time.Clock() run = True while run: # handle events for event in pygame.event.get(): if event.type == QUIT: run = False # clear display DISPLAY.fill(0) # draw scene pygame.draw.rect(DISPLAY, (200,200,200), pygame.Rect(0,400,800,400)) # update display pygame.display.flip() # limit frames per second clock.tick(60) pygame.quit() exit()
Dengan memasukkan kemas kini paparan yang diperlukan , kini anda sepatutnya melihat latar belakang yang dijangkakan dengan bahagian bawah kelabu dan bahagian atas hitam.
Atas ialah kandungan terperinci Mengapa Kod PyGame Saya Tidak Menarik Apa-apa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!