from tkinter import * from threading import * import time class Liigutaja(Thread): def looAla(self): self.aken=Tk() self.ala=Canvas(self.aken) self.ala.pack() self.ala.bind("", self.hiirevajutus); self.ala.bind("", self.klahvivajutus); self.ala.bind("", self.eriklahvivajutus); self.ala.bind("", self.noolyles) #Nool üles tõstab palli 50 piksli jagu kõrgemale self.ala.focus_set() self.hx=100 self.hy=100 def looPall(self, x, y, r): self.ovaal=self.ala.create_oval(x-r, y-r, x+r, y+r, fill="green") self.x=x self.y=y self.r=r self.ala.tag_bind(self.ovaal, "", self.vajutuspallil) def hiirevajutus(self, event): self.hx=event.x self.hy=event.y def klahvivajutus(self, klahv): print("klahv all " +klahv.char) def eriklahvivajutus(self, klahv): print("return-klahv") def noolyles(self, klahv): print("nool yles") self.y=self.y-50 def vajutuspallil(self, event): self.r=self.r*0.8 def run(self): while True: self.x=self.x*0.9+self.hx*0.1 self.y=self.y*0.9+self.hy*0.1 self.ala.coords(self.ovaal, self.x-self.r, self.y-self.r, self.x+self.r, self.y+self.r) time.sleep(0.1) def naitaPilti(self): self.aken.mainloop() liigutaja=Liigutaja() liigutaja.looAla() liigutaja.looPall(50, 100, 10) liigutaja.start() #paneb run-i t88le liigutaja.naitaPilti()