ich habe folgendes Problem. Mein Programm soll nach dem Drücken der linken Maustaste einen Ball zeichnen und ihn danach über den Canvas wandern lassen. Leider zeichnet er mir nur den "letzten" Ball. Weder wird der erste Ball gezeichnet, noch kann man die Wanderung über den Canvas sehen. Was mache ich falsch? Für einen Hinweis wäre ich dankbar.
Henning
Code: Alles auswählen
import tkinter
import time
class MyGame(tkinter.Frame):
cFrameWidth = 400
cFrameHeight = 400
def __init__(self, root:tkinter.Tk):
super().__init__(root)
self.pack()
self.cv = tkinter.Canvas(self, width = self.cFrameWidth, \
height = self.cFrameHeight, \
background = "white")
self.cv.bind("<Button 1>", self.pressLeftButton)
self.cv.pack()
# object Number on Canvas
self.myObjectOnCv = None
def start(self):
self.drawMyObjectOnCv()
time.sleep(3)
self.moveMyObjectOnCv()
def drawMyObjectOnCv(self):
self.myObjectOnCv = self.cv.create_oval( \
50, \
25, \
50 + 20, \
25 + 20, \
fill="blue", width = 0)
def moveMyObjectOnCv(self):
for x in range(1,25):
self.cv.move(self.myObjectOnCv, 10, 10)
time.sleep(0.25)
def pressLeftButton(self, event):
self.cv.unbind("<Button 1>")
self.start()
root = tkinter.Tk()
mg = MyGame(root)
root.lift()
root.attributes('-topmost', True)
root.attributes('-topmost', False)
root.mainloop()