Den Ball in Pygame bewegen
Wenn Sie in Pygame versuchen, ein Objekt zu bewegen, ist es wichtig, einen umfassenden Ansatz zu wählen und die Anzeige zu löschen in jedem Frame mit pygame.Surface.fill. Dadurch wird sichergestellt, dass der vorherige Zustand des Objekts gelöscht wird und eine reibungslose Bewegung über den Bildschirm möglich ist.
Bei einer weiteren Prüfung Ihres Codes wird deutlich, dass Sie diesen Schritt nicht in Ihre Animationsschleife integriert haben. Um dies zu beheben, fügen Sie einfach screen.fill(0) am Anfang jeder Iteration innerhalb der Schleife ein.
while True: # [...] screen.fill(0) # <--- main.draw_elements() main.move_ball() main.ball.x_pos += main.ball.speed pygame.display.flip() # [...]
Durch die Implementierung dieser Änderung hinterlässt die Bewegung des Balls keine Spur mehr, sodass dies möglich ist reibungslos bewegen. In Pygame wird die gesamte Szene mit jedem Frame neu gezeichnet, daher wird die Anzeige zu Beginn jedes Frames gelöscht. Die typische Anwendungsschleife für Pygame umfasst:
Das obige ist der detaillierte Inhalt vonWarum hinterlässt mein Pygame-Ball eine Spur und wie kann ich das beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!