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:
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:
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!