COMP3140-01 Animation Demo ( 0, 95 ) ( 350, 255 ) Specifications: a) The red ball moves clockwise while the blue ball moves counter clockwise The red ball moves 2 times as faster as the blue ball moves At the center of the frame, the coordinates of the balls are shown in real time.
"""An example of drawing and animation on a Canvas object"""
from tkinter import *
import time
tk = Tk()
Height = 300
Width = 400
tk.title('COMP3140-01 tkinter Demo')
canvas = Canvas(tk, width=Width, height= Height)
canvas.pack()
ball=canvas.create_oval(0,100,50,50, fill='red')
delta_x = 5
delta_y=0
var = StringVar()
coord = Label(canvas, textvariable=var, fg='red')
labelfont = ('times', 20, 'bold')
coord.config(font=labelfont)
canvas.create_window(180, 180, window=coord) #Add the coordinate label to the canvas
while True:
canvas.move(ball, delta_x, delta_y) #draw and move the ball object
pos=canvas.coords(ball) #records the coordinates
# Move the ball
if pos[2] > Width:
delta_x=-5
elif pos[0]<=0 :
delta_x=5
var.set('( %d, %d )'%(pos[0],pos[1])) #update the coordinates
tk.update() #update the whole frame
time.sleep(0.03)
Trending now
This is a popular solution!
Step by step
Solved in 2 steps