Probleme mit der Zeitverzögerung bei Canvas
Verfasst: Mittwoch 24. September 2008, 08:16
Hi Leute, das ist hier mein erster Post im Python-Forum und ich hoffe wirklich, dass ihr mir weiterhelfen könnt, ich bin nämlich ziemlich am verzweifeln...
Also: im Informatikunterricht in der Schule (12. Klasse) schreiben wir ein kleines Tic-Tac-Toe Spiel mit einer Tkinter Oberfläche.
Wenn man dieses Spiel startet, soll am Anfang ein Hauptmenu geöffnet werden, in dem eine Minuiatur-Vorschau des Spieles von alleine spielt.
Das heist, es sollen mithilfe von Zeitverzögerungen Canvas Objekte auf eine Leinwand "gemalt" werden.
Mein Problem besteht nun darin, dass wenn ich einfach time.sleep(3) vor die Zeichenfunktion in meinem Skript setzte, der die 3 Sekunden mit dem Programmstart wartet und erst startet, wenn alle time.sleep() Funktionen abgearbeitet sind, dann aber taucht das komplett gemalte Canvas auf.
Das ganze habe ich auch schon mit der after(ms=2000, func=self.zeichne_kreis()) versucht und das gleiche Problem wie mit time.sleep() gehabt.
Hier findet ihr die relevanten Stellen in meinem Quelltext:
bzw. mit time():
Wenn ihr wollt, kann ich auch gern den ganzen Quelltext posten, dachte mir aber, dass es dann ggf. etwas unübersichtlich wird...
Wäre echt klasse, wenn ihr mir helfen könntet...
Also: im Informatikunterricht in der Schule (12. Klasse) schreiben wir ein kleines Tic-Tac-Toe Spiel mit einer Tkinter Oberfläche.
Wenn man dieses Spiel startet, soll am Anfang ein Hauptmenu geöffnet werden, in dem eine Minuiatur-Vorschau des Spieles von alleine spielt.
Das heist, es sollen mithilfe von Zeitverzögerungen Canvas Objekte auf eine Leinwand "gemalt" werden.
Mein Problem besteht nun darin, dass wenn ich einfach time.sleep(3) vor die Zeichenfunktion in meinem Skript setzte, der die 3 Sekunden mit dem Programmstart wartet und erst startet, wenn alle time.sleep() Funktionen abgearbeitet sind, dann aber taucht das komplett gemalte Canvas auf.
Das ganze habe ich auch schon mit der after(ms=2000, func=self.zeichne_kreis()) versucht und das gleiche Problem wie mit time.sleep() gehabt.
Hier findet ihr die relevanten Stellen in meinem Quelltext:
Code: Alles auswählen
def vorschau(self):
self.fenster.after(ms=2000, func=self.zeichne_kreis(1,'yellow'))
self.fenster.after(ms=200, func=self.zeichne_kreis(2,'yellow'))
Code: Alles auswählen
import time
def vorschau(self):
time.sleep(3)
self.zeichne_kreis(1,'yellow')
time.sleep(3)
self.zeichne_kreis(2,'yellow')
Wäre echt klasse, wenn ihr mir helfen könntet...