Animationen mit TK

Fragen zu Tkinter.
XT@ngel
User
Beiträge: 256
Registriert: Dienstag 6. August 2002, 14:36
Kontaktdaten:

Animationen mit TK

Beitragvon XT@ngel » Freitag 4. Oktober 2002, 12:25

Hat jemand Beispiele für Animationen in einem Canvas-Widget?
z.B Eine Linie die sich von a nach b zeichnet ?
Oder kann mir jemand erklären wie das geht?

MfG und Danke
Andreas
gast

einstieg in pyhton

Beitragvon gast » Sonntag 8. Dezember 2002, 13:06

das buch erschienen bei galileo computing hat ein kapitel über tk. darin findetst du ein beispiel für eine animation.
Gast

Beitragvon Gast » Samstag 22. Februar 2003, 22:05

Hi XT@ngel
Ich hab grad 2-3 Progs geschrieben, die in Tk Kreise, Images und Rechtecke bewegen.
Vielleicht helfen die dir weiter...

Code: Alles auswählen

from Tkinter import*
from thread import*
from time import*
from random import*
from winsound import*

root=Tk()
kissen = Canvas(root, relief = SUNKEN, border = 4, width = 250, height = 250,\
                        background = "white")
kissen.pack(padx = 5, pady = 5)
kreis = kissen.create_oval(10, 10, 100, 100, fill = "Blue")

class test:
    def __init__(self, x, y):
        self.x=x
        self.y=y
    def snd(self):
        while 1:
            PlaySound("D:\Testmusic",0)
            sleep(143)
    def tt(self):
        global kreis
        while 1:
            self.x=randint(1,160)
            self.y=self.x+90
            kissen.coords(kreis,self.x, self.x, self.y, self.y)
            sleep(1)
t=test(10,100)
start_new_thread(t.tt,())
start_new_thread(t.snd,())


Es ist eigentlich ganz simpel:
Erst wird ein Fenster mit einem Canvas(Kissen) erstellt.
Dann wird ein Kreis(kreis) reingemalt
In einem neuen Thread wird eine Schleife immer und immer wieder durchlaufen. In der Schleife bestimmt ein Zufallswert die X-Koordinaten.
Die Y-Koordinaten werden mithilfe der ermittelten X-Koordinaten ausgerechnet. So bleibt der Kreis immer gleich groß.

Achso, zwischendurch wird noch ein Lied abgespielt. Ist für dich glaub ich nicht weiter von interesse. :lol:

Falls du weiter Beispiele brauchst, poste einfach.

MFG,
Florian

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder