Heim >Backend-Entwicklung >Python-Tutorial >Warum werden meine PyGame-Zeichnungen nicht angezeigt?

Warum werden meine PyGame-Zeichnungen nicht angezeigt?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-15 15:48:15520Durchsuche

Why Aren't My PyGame Drawings Appearing?

Warum Sie möglicherweise nichts in PyGame Gezeichnetes sehen

Obwohl Sie versuchen, Objekte in Ihrer PyGame-Anwendung zu rendern, werden möglicherweise Ergebnisse angezeigt inkonsistent oder nicht vorhanden. Um zu verstehen, warum dies geschieht, müssen wir den Unterschied zwischen dem Zeichnen auf einer Oberfläche und dem Aktualisieren der Anzeige erkennen.

Zeichnen auf einer Oberfläche

In PyGame zeichnen Sie normalerweise Grafiken auf ein Oberflächenobjekt. Der Bildschirm, den Sie in Ihrer Anwendung sehen, ist eigentlich eine mit der Anzeige verbundene Oberfläche. Das Zeichnen auf dieser Oberfläche allein macht es jedoch nicht in der tatsächlichen Anzeige sichtbar.

Aktualisierung der Anzeige

Um die von Ihnen vorgenommenen Änderungen auf der Oberfläche anzuzeigen, benötigen Sie um die Anzeige zu aktualisieren. PyGame bietet hierfür zwei Hauptmethoden:

  • pygame.display.update(): Aktualisiert nur einen Teil des Bildschirms.
  • pygame. display.flip(): Aktualisiert die gesamte Anzeige.

In Ihrem speziellen Fall haben Sie ein Rechteck gezeichnet die Oberfläche, aber Sie haben die Anzeige nicht aktualisiert. Dadurch bleiben die Änderungen unsichtbar.

Typische PyGame-Anwendungsschleife

Eine typische PyGame-Anwendung folgt einer Schleife, die Folgendes umfasst:

  • Ereignisbehandlung
  • Spielstatusaktualisierungen
  • Oberfläche Löschen
  • Szenenzeichnung
  • Anzeigeaktualisierung
  • Bildratenbeschränkung

Hier ist ein Beispiel für einen aktualisierten Code, der die erforderliche Anzeigeaktualisierung enthält:

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

Durch die Einbindung des Anzeigeupdates sollten Sie die gezeichneten Objekte nun korrekt in Ihrem sehen können Anwendung.

Das obige ist der detaillierte Inhalt vonWarum werden meine PyGame-Zeichnungen nicht angezeigt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn