Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Aplikasi PyGame Saya Hanya Memaparkan 'pygame 2.0.0...' dan Kemudian Berhenti?

Mengapa Aplikasi PyGame Saya Hanya Memaparkan 'pygame 2.0.0...' dan Kemudian Berhenti?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-27 15:40:10684semak imbas

Why Does My PyGame Application Only Display

Aplikasi PyGame Gagal Dijalankan: Diagnosis Mendalam

Apabila cuba untuk melaksanakan program PyGame, anda mungkin menghadapi masalah apabila arahan itu segera memaparkan mesej "pygame 2.0.0..." dan tiada tindakan selanjutnya berlaku. Tingkah laku yang membingungkan ini boleh menyebabkan pengaturcara bingung.

Untuk memahami punca masalah ini, mari analisa coretan kod PyGame yang disediakan:

import pygame
from pygame.locals import *

pygame.init()

win = pygame.display.set_mode((400,400))
pygame.display.set_caption("My first game")

Kod ini memulakan modul PyGame dan mencipta tetingkap permainan dengan resolusi dan kapsyen tertentu. Walau bagaimanapun, ia tidak mempunyai elemen penting: gelung aplikasi.

Gelung aplikasi ialah proses berterusan yang mengendalikan pelbagai acara, mengemas kini objek permainan, mengosongkan paparan, melukis objek dan kemas kini dipaparkan semula. Mekanisme teras inilah yang memastikan permainan berjalan.

Dalam kod yang disediakan, gelung ini tiada. Tanpanya, program ini memulakan tetingkap permainan tetapi tidak mempunyai logik untuk mengendalikan input, mengemas kini objek atau melukis apa-apa pada skrin.

Untuk menyelesaikan isu ini, laksanakan gelung aplikasi PyGame berikut:

run = True
while run:

    # handle events
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False

    # update game objects
    # [...]

    # clear display
    win.fill((0, 0, 0))

    # draw game objects
    # [...]

    # update display
    pygame.display.flip()

    # limit frames per second
    clock.tick(60)

pygame.quit()

Gelung ini:

  • Mengendalikan acara, seperti "berhenti" acara.
  • Mengemas kini kedudukan objek permainan berdasarkan input dan masa.
  • Kosongkan paparan (untuk melukis semula semuanya).
  • Melukis pemandangan (objek).
  • Mengemas kini paparan untuk menunjukkan perubahan.
  • Menghadkan bingkai sesaat untuk mengoptimumkan prestasi.

Setelah gelung ini dilaksanakan, aplikasi PyGame anda akan berjalan seperti yang diharapkan. Ingat, gelung aplikasi adalah penting untuk mengawal aliran aplikasi PyGame anda dan memastikan responsifnya.

Atas ialah kandungan terperinci Mengapa Aplikasi PyGame Saya Hanya Memaparkan 'pygame 2.0.0...' dan Kemudian Berhenti?. 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