Ich habe einen Menübildschirm gemacht, wo das Klicken auf eine Schaltfläche zu einem anderen Bildschirm im selben Fenster führt.Pygame - "Fehler: Anzeige Oberfläche quit"
def main():
import pygame, random, time
pygame.init()
size=[800, 600]
screen=pygame.display.set_mode(size)
pygame.display.set_caption("Game")
done=False
clock=pygame.time.Clock()
while done==False:
for event in pygame.event.get():
pos = pygame.mouse.get_pos()
if event.type == pygame.QUIT:
done=True
break
if button_VIEW.collidepoint(pos):
if event.type == pygame.MOUSEBUTTONDOWN:
print("VIEW.")
view()
break
screen.fill(black)
...
def view():
done=False
clock=pygame.time.Clock()
while done==False:
for event in pygame.event.get():
pos = pygame.mouse.get_pos()
if event.type == pygame.QUIT:
done=True
break
...
Wenn möglich, würde Ich mag wissen, wie ich den Fehler vermeiden kann:
screen.fill(black)
error: display Surface quit
>>>
Nach dem Einschalten hier bei anderen Fragen suchen, habe ich versucht, das Hinzufügen break
s zu den Ausgängen aller Schleifen, aber immer noch tritt der Fehler auf.
Ich verstehe das Problem ist, dass das Programm versucht, screen.fill(black)
auszuführen, nachdem das Fenster geschlossen wurde, aber ich habe keine weiteren Ideen, wie Sie den Fehler verhindern können.
Ich schätze jede Hilfe. Entschuldigung, wenn es einfach scheint.
Bitte post ein [minimale, vollständige und überprüfbare Beispiel] (http://StackOverflow.com/Help/mcve), die immer noch den Fehler und auch die vollständige Traceback (Fehlermeldung) erzeugt. – skrx
@skrx entschuldigt. Ich verstehe, dass ich vielleicht den Code ein wenig mehr kondensiert haben könnte, aber der Code oben ist bereits ziemlich vom Original heruntergeschnitten. – BaconStereo
Das Problem ist, dass wir das Programm nicht ausführen können und auch nicht sehen können, wo der eigentliche Fehler auftritt. – skrx