Ich habe eine Class Lock definiert und von ihr die Objekte lock1 und lock2 abgeleitet. Mittels dem Modul threading würde ich nun gerne lock1 und lock2 gleichzeitig in Bewegung setzen. Letzteres gelingt mir jedoch überhaupt nicht, es setzt sich immmer nur eine der beiden Locks in Bewegung.
Wie bekomme ich es hin beide Locks gleichzeitig in Bewegung zu setzen?
Es währe echt toll von Euch, wenn Ihr mir helfen könntet!!!
Vielen Dank schon mal im Voraus.
Code: Alles auswählen
from Tkinter import *
from threading import Thread
import pygame,sys,random,time
fenster = Tk()
fenster.geometry("1600x1000")
zeichner = Canvas(fenster, width=1600, height=800)
zeichner.pack()
zeichner.place(x=100,y=300)
pygame.init()
pygame.mixer.init()
screen = pygame.display.set_mode([100,50])
pygame.time.delay(500)
class Lock(Thread):
__koordinate_fh_1 = 0
__koordinate_fh_2 = 0
__koordinate_fh_3 = 0
__koordinate_fh_4 = 0
__koordinate_sa_1 = 0
__koordinate_sa_2 = 0
__koordinate_sa_3 = 0
__koordinate_sa_4 = 0
__koordinate_sa_5 = 0
__koordinate_sa_6 = 0
__koordinate_s_1 = 0
__koordinate_s_2 = 0
__koordinate_s_3 = 0
__koordinate_s_4 = 0
__koordinate_lk_1 = 0
__koordinate_lk_2 = 0
__koordinate_lk_3 = 0
__koordinate_lk_4 = 0
__koordinate_vr_1 = 0
__koordinate_vr_2 = 0
__koordinate_vr_3 = 0
__koordinate_vr_4 = 0
__koordinate_hr_1 = 0
__koordinate_hr_2 = 0
__koordinate_hr_3 = 0
__koordinate_hr_4 = 0
__lockfarbe = ""
__radfarbe = ""
def __init__(self,koordinate_fh_1,koordinate_fh_2,koordinate_fh_3,koordinate_fh_4,koordinate_sa_1,koordinate_sa_2,koordinate_sa_3, \
koordinate_sa_4,koordinate_sa_5,koordinate_sa_6,koordinate_s_1,koordinate_s_2,koordinate_s_3,koordinate_s_4,koordinate_lk_1, \
koordinate_lk_2,koordinate_lk_3,koordinate_lk_4,koordinate_vr_1,koordinate_vr_2,koordinate_vr_3,koordinate_vr_4,koordinate_hr_1, \
koordinate_hr_2,koordinate_hr_3,koordinate_hr_4,lockfarbe,radfarbe):
Thread.__init__(self)
self.__koordinate_fh_1 = koordinate_fh_1
self.__koordinate_fh_2 = koordinate_fh_2
self.__koordinate_fh_3 = koordinate_fh_3
self.__koordinate_fh_4 = koordinate_fh_4
self.__koordinate_sa_1 = koordinate_sa_1
self.__koordinate_sa_2 = koordinate_sa_2
self.__koordinate_sa_3 = koordinate_sa_3
self.__koordinate_sa_4 = koordinate_sa_4
self.__koordinate_sa_5 = koordinate_sa_5
self.__koordinate_sa_6 = koordinate_sa_6
self.__koordinate_s_1 = koordinate_s_1
self.__koordinate_s_2 = koordinate_s_2
self.__koordinate_s_3 = koordinate_s_3
self.__koordinate_s_4 = koordinate_s_4
self.__koordinate_lk_1 = koordinate_lk_1
self.__koordinate_lk_2 = koordinate_lk_2
self.__koordinate_lk_3 = koordinate_lk_3
self.__koordinate_lk_4 = koordinate_lk_4
self.__koordinate_vr_1 = koordinate_vr_1
self.__koordinate_vr_2 = koordinate_vr_2
self.__koordinate_vr_3 = koordinate_vr_3
self.__koordinate_vr_4 = koordinate_vr_4
self.__koordinate_hr_1 = koordinate_hr_1
self.__koordinate_hr_2 = koordinate_hr_2
self.__koordinate_hr_3 = koordinate_hr_3
self.__koordinate_hr_4 = koordinate_hr_4
self.__lockfarbe = lockfarbe
self.__radfarbe = radfarbe
self.fuehrerhaeuschen = zeichner.create_rectangle(koordinate_fh_1,koordinate_fh_2,koordinate_fh_3,\
koordinate_fh_4,fill=lockfarbe,width=1)
self.schlotausgang = zeichner.create_polygon(koordinate_sa_1,koordinate_sa_2,koordinate_sa_3,\
koordinate_sa_4,koordinate_sa_5,koordinate_sa_6,fill=lockfarbe,outline="black",width=1)
self.schlot = zeichner.create_rectangle(koordinate_s_1,koordinate_s_2,koordinate_s_3,\
koordinate_s_4,fill=lockfarbe,width=1)
self.lockkoerper = zeichner.create_rectangle(koordinate_lk_1,koordinate_lk_2,koordinate_lk_3,koordinate_lk_4,fill=lockfarbe,width=1)
self.vorderrad = zeichner.create_oval(koordinate_vr_1,koordinate_vr_2,koordinate_vr_3,\
koordinate_vr_4,fill=radfarbe,width=2)
self.hinterrad = zeichner.create_oval(koordinate_hr_1,koordinate_hr_2,koordinate_hr_3,\
koordinate_hr_4,fill=radfarbe,width=2)
def run(self):
self.fahren()
def fahren(self):
a = range(1,170)
for i in a:
zeichner.move(1,7,0)
zeichner.move(2,7,0)
zeichner.move(3,7,0)
zeichner.move(4,7,0)
zeichner.move(5,7,0)
zeichner.move(6,7,0)
fenster.update()
time.sleep(0.2)
lock1 = Lock(80,89,140,150,188,93,231,93,210,130,220,109,200,200,80,149,250,219,200,200,250,250,80,200,130,250,"red","yellow")
lock2 = Lock(260, 269, 320, 330, 368, 273, 411, 273, 390, 310, 400, 289, 380, 380, 260, 329, 430, 399, 380, 380, 430, 430, 260, 380, 310, 430,"blue","yellow")
lock1.start()
lock2.start()
mainloop()