Effizienter neue Fenster in Pygame erstellen?
Hey, ich bin momentan dabei ein Spiel in Pygame zu schreiben. Bisher, wenn ich ein neues Fenster im spiel erzeugen wollte habe ich einfach eine Methode mit einem anderen Game loop gecallt um diese das Fenster was momentan gezeigt wurde einfach zu überzeichnen.
Allerdings habe ich festgestellt das wenn man das für 10 bis 20 Fenster machen muss das sehr aufwendig sehr code und zeit intensiv ist.
Gibt es da einen einfacheren Weg?
1 Antwort
Die grundsätzliche Frage wäre wohl, wieso du für dein Spiel mehrere Fenster benötigst und ob sich nicht eine Alternative finden lässt.
PyGame ist an sich auf Ein-Fenster-Anwendungen ausgelegt. Für mehrere parallel laufende Fenster wäre eine Aufteilung in verschiedene Prozesse am naheliegendsten, wobei das auch mit Overhead verbunden ist. Immerhin hast du dann mehrere Interpreter-Instanzen offen und müsstest schauen, wie du am besten zwischen ihnen kommunizierst.
Sollte es bei dir lediglich darum gehen, das Spiel in verschiedene Szenen/Level zu unterteilen, dann belasse es bei einem Fenster (und einer Game Loop). Wenn eine Szene überschrieben werden soll, fülle den Bildschirm einfach weiß
screen.fill(255, 255, 255)
und zeichne anschließend deine neuen Spielkomponenten.