Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Paparan PyGame Saya Kosong?

Mengapa Paparan PyGame Saya Kosong?

DDD
DDDasal
2024-12-21 01:05:13275semak imbas

Why Is My PyGame Display Blank?

PyGame - Misteri Paparan Void

Apabila mencipta aplikasi visual menggunakan PyGame, anda mungkin menghadapi keadaan di mana tiada apa-apa dipaparkan pada skrin walaupun arahan lukisan. Untuk menyelesaikan masalah ini, adalah penting untuk memahami konsep kemas kini paparan.

Dalam PyGame, anda melukis pada objek Surface yang dikaitkan dengan paparan. Walau bagaimanapun, perubahan ini hanya kelihatan selepas mengemas kini paparan menggunakan fungsi seperti pygame.display.update() atau pygame.display.flip().

Semasa pygame.display.flip() mengemas kini keseluruhan paparan, pygame .display.update() boleh menyasarkan kawasan tertentu.

Untuk memastikan operasi lancar aplikasi PyGame, gelung biasa melibatkan:

  1. Pengendalian Acara: Dapatkan input pengguna menggunakan pygame.event.get() atau pygame.event.pump().
  2. Kemas Kini Keadaan Permainan dan Objek: Laraskan keadaan permainan dan kedudukan objek berdasarkan input dan masa.
  3. Pembersihan Paparan: Kosongkan kandungan bingkai sebelumnya menggunakan DISPLAY.fill(0).
  4. Rendering Scene: Lukis semua objek yang diperlukan pada kanvas.
  5. Kemas Kini Paparan: Kemas kini paparan yang boleh dilihat menggunakan pygame.display.update() atau pygame.display. flip().
  6. Kawalan Kadar Bingkai: Hadkan bingkai sesaat untuk mengelakkan penggunaan CPU yang berlebihan menggunakan pygame.time.Clock().

Contoh gelung PyGame yang diperbetulkan:

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()

Ini sepatutnya menyelesaikan isu skrin kosong dan memastikan pemaparan yang betul dalam PyGame.

Atas ialah kandungan terperinci Mengapa Paparan PyGame Saya Kosong?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn