Problem:Anwendungsschleife funktioniert nicht richtig.
Kontext:
Das bereitgestellte Python-Skript versucht, mit Pygame ein einfaches 2D-Abenteuerspiel zu erstellen, aber die Anwendungsschleife scheint nicht richtig zu funktionieren. Der Benutzer sucht Hilfe bei der Implementierung eines Kamerasystems im Spiel. Der Hauptschwerpunkt dieser Antwort liegt jedoch auf der Behebung der fehlerhaften Anwendungsschleife.
Grundursache:
Der falsche Ansatz im Skript liegt im Versuch, die zu zeichnen Hintergrund an der Position eines Objekts, gefolgt vom Verschieben des Objekts und dem Blitten an seiner neuen Position. Dieser Ansatz ist überflüssig und unnötig.
Lösung:
Ein grundlegendes Verständnis der Hauptanwendungsschleife ist entscheidend:
Zusammenfassend sollte die Anwendungsschleife wie folgt ablaufen:
Geänderter Code:
while 1: # Event handling for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() # Object updates keys = pygame.key.get_pressed() if keys[pygame.K_LEFT]: objects[0].move_left() if keys[pygame.K_RIGHT]: objects[0].move_right() if keys[pygame.K_UP]: objects[0].move_up() if keys[pygame.K_DOWN]: objects[0].move_down() for num in range(num_objects - 1): objects[num + 1].rand_move() # Background rendering screen.blit(background, (0, 0)) # Scene rendering for o in objects: screen.blit(o.image, o.pos) # Display update pygame.display.update() pygame.time.delay(100)
Das obige ist der detaillierte Inhalt vonWarum funktioniert meine Pygame-Anwendungsschleife nicht richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!