Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Lukisan PyGame Saya Tidak Muncul?

Mengapa Lukisan PyGame Saya Tidak Muncul?

Mary-Kate Olsen
Lepaskan: 2024-12-15 15:48:15
asal
514 orang telah melayarinya

Why Aren't My PyGame Drawings Appearing?

Mengapa Anda Mungkin Tidak Melihat Apa-apa Yang Dilukis dalam PyGame

Walaupun anda cuba untuk membuat objek dalam aplikasi PyGame anda, hasilnya mungkin muncul tidak konsisten atau tiada. Untuk memahami sebab ini berlaku, kita perlu mengenali perbezaan antara melukis pada permukaan dan mengemas kini paparan.

Melukis pada Permukaan

Dalam PyGame, anda biasanya melukis grafik pada objek permukaan. Skrin yang anda lihat dalam aplikasi anda sebenarnya adalah permukaan yang dikaitkan dengan paparan. Walau bagaimanapun, lukisan pada permukaan ini sahaja tidak menjadikannya kelihatan dalam paparan sebenar.

Mengemas kini Paparan

Untuk memaparkan perubahan yang anda buat pada permukaan, anda perlu untuk mengemas kini paparan. PyGame menyediakan dua kaedah utama untuk ini:

  • pygame.display.update(): Mengemas kini hanya sebahagian daripada skrin.
  • pygame. display.flip(): Mengemas kini keseluruhan paparan.

Dalam kes khusus anda, anda telah melukis segi empat tepat pada permukaan, tetapi anda belum mengemas kini paparan. Akibatnya, perubahan kekal tidak kelihatan.

Gelung Aplikasi PyGame Biasa

Aplikasi PyGame biasa mengikuti gelung yang merangkumi:

  • Pengendalian acara
  • Keadaan permainan kemas kini
  • Pembersihan permukaan
  • Lukisan pemandangan
  • Kemas kini paparan
  • Had kadar bingkai

Berikut ialah contoh kod yang dikemas kini yang termasuk kemas kini paparan yang diperlukan:

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()
Salin selepas log masuk

Oleh dengan memasukkan kemas kini paparan, anda kini sepatutnya dapat melihat objek yang dilukis dengan betul dalam aplikasi anda.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan