Seite 1 von 1
pygame Fensterschließung funktioniert nicht
Verfasst: Sonntag 19. April 2020, 10:30
von zerokrezan
Code: Alles auswählen
import pygame
from sys import exit
import sys
pygame.init()
class Game():
def __init__(self,screen,size):
self.screen = screen
self.screen(size)
def schleife(self,event):
running = True
while running:
for events in event:
if events.type == pygame.QUIT:
running = False
pygame.quit()
quit()
main = Game(pygame.display.set_mode,(200,200))
main.schleife(pygame.event.get())
Wenn ich es ausführe öffnet sich zwar das gewünschte Fenster, aber es lässt sich nicht mher schließen.
Womöglich habe ich was übersehen.
Freue mich über jede Hilfe 
Danke im Voraus 
Re: pygame Fensterschließung funktioniert nicht
Verfasst: Sonntag 19. April 2020, 10:38
von Sirius3
Die Event-Verarbeitung ist falsch. Die Namen sind schon falsch. events ist EIN event, und event enthält nur die Events, die ganz am Anfang des Spiels da waren, also keine.
`quit` sollte man nicht aufrufen, denn das Programm sollte sein natürliches Ende erreichen. Ebenso verhält es sich mit sys.exit, das aber zum Glück gar nicht verwendet wird.
Code: Alles auswählen
import pygame
class Game():
def __init__(self, screen, size):
self.screen = screen
self.screen.set_mode(size)
def schleife(self):
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
return
def main():
pygame.init()
game = Game(pygame.display, (200, 200))
game.schleife()
pygame.quit()
if __name__ == '__main__':
main()
Re: pygame Fensterschließung funktioniert nicht
Verfasst: Sonntag 19. April 2020, 10:45
von zerokrezan
Sirius3 hat geschrieben: Sonntag 19. April 2020, 10:38
Die Event-Verarbeitung ist falsch. Die Namen sind schon falsch. events ist EIN event, und event enthält nur die Events, die ganz am Anfang des Spiels da waren, also keine.
`quit` sollte man nicht aufrufen, denn das Programm sollte sein natürliches Ende erreichen. Ebenso verhält es sich mit sys.exit, das aber zum Glück gar nicht verwendet wird.
Code: Alles auswählen
import pygame
class Game():
def __init__(self, screen, size):
self.screen = screen
self.screen.set_mode(size)
def schleife(self):
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
return
def main():
pygame.init()
game = Game(pygame.display, (200, 200))
game.schleife()
pygame.quit()
if __name__ == '__main__':
main()
Vielen Dank, das hat mir weitergeholfen! 