pygame.quit() führt zu Absturz

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
Benutzeravatar
Klip
User
Beiträge: 98
Registriert: Donnerstag 10. August 2006, 20:39

Donnerstag 17. Juli 2008, 01:33

Hallo zusammen,

ich arbeite mich seit kurzem in pygame ein. Gefällt mir sehr gut, aber ich habe ein selltsames Problem.

Ich nutze Ubuntu Hardy und habe Python 2.52 und die aktuelle pygame-Version installiert.

Das ist mein Problem:
Während der Ausführung funktioniert pygame wunderbar. Doch will ich es beenden - egal ob durch Ende des Scripts, aufrufen von sys.exit() oder manueller Beendigung durch pygame.quit(); jedes Mal bleibt das Grafikfenster offen (und eingefroren von dem Moment an).

Nur durch einen Abbruch über die Konsole (Ctrl + C) lässt sich das Programm endgültig schließen. Die Events werden richtig abgefragt, der Abbruchvorgang wird eingeleitet, aber es wird eben nicht durchgeführt =/

Kann mir jemand sagen, woran das liegen könnte? Wäre über Hinweise sehr dankbar.

EDIT: Unter Windows XP läuft der Code reibungslos, selbe Python- und pygame-Version.

EDIT: *Seufz* es ist schon zu spät. Die pygame-Version ist auf Ubuntu 1.7 und auf Windows 1.8.
Kann jemand bestätigen, dass es mit 1.7 Probleme gibt? In den Paketquellen ist noch keine neue Version vorhanden.
Na ja ich installiere morgen das .deb-Paket von der pygame-Seite und berichte hier, ob das Erfolg gebracht hat.

Hier noch ein Testcode der bei mir zu besagtem Fehler führt:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import pygame

pygame.init()

window_size = (window_width, window_height) = (800,600)

screen = pygame.display.set_mode(window_size)
pygame.display.set_caption('Test')

running = True
while running:
	for event in pygame.event.get():
		if event.type == pygame.QUIT: running = False
		if event.type == pygame.KEYDOWN:
			if event.key == pygame.K_ESCAPE: running = False

	screen.fill((0,0,0))
	pygame.display.flip()
Zuletzt geändert von Klip am Donnerstag 17. Juli 2008, 10:42, insgesamt 2-mal geändert.
BlackJack

Donnerstag 17. Juli 2008, 05:47

Bei mir funktioniert das beenden mit `pygame` unter Ubuntu reibungslos.

Code: Alles auswählen

In [8]: pygame.version.ver
Out[8]: '1.7.1release'
Benutzeravatar
Klip
User
Beiträge: 98
Registriert: Donnerstag 10. August 2006, 20:39

Donnerstag 17. Juli 2008, 11:03

Es scheint an GNOME zu liegen, unter KDE4 habe ich keinerlei Probleme. Leider habe ich keine Ahnung, wie ich das ganze weiter eingrenzen kann.
Imperator
User
Beiträge: 275
Registriert: Montag 20. August 2007, 14:43
Kontaktdaten:

Donnerstag 17. Juli 2008, 14:05

Du könntes es mit

Code: Alles auswählen

if event.type == pygame.QUIT:
    pygame.quit()


probieren :wink:
Benutzeravatar
Klip
User
Beiträge: 98
Registriert: Donnerstag 10. August 2006, 20:39

Freitag 18. Juli 2008, 00:39

Imperator hat geschrieben:Du könntes es mit

Code: Alles auswählen

if event.type == pygame.QUIT:
    pygame.quit()


probieren :wink:
Habe ich schon :wink:
Klip hat geschrieben:Doch will ich es beenden - egal ob durch Ende des Scripts, aufrufen von sys.exit() oder manueller Beendigung durch pygame.quit(); jedes Mal bleibt das Grafikfenster offen (und eingefroren von dem Moment an).
Imperator
User
Beiträge: 275
Registriert: Montag 20. August 2007, 14:43
Kontaktdaten:

Samstag 19. Juli 2008, 09:24

verdammt, hab ich überlesen. :oops:
Antworten