Animation with Rectangles and Circles


Tkinter Canvas
Random colour rectangles in Canvas

Creating animation by drawing concentric circles & rectangles on Tkinter Canvas using random colour

Getting random colours

We will generate hex code by using RGB values. These RGB values will be taken from random number generator over the range from 0 to 255.
color_c='#%02x%02x%02x' % (randrange(256), randrange(256), randrange(256))

Using timer

We will call the same function ( recursive calling ) by using after() timer.
if (x1<(width/2)):
        c1.after(500,my_draw)
else:
        return    

Restart button

We placed one Restart button to initialize the values of the x1,y1,x2,y2 coordinates.
def restart():
    global x1,y1,x2,y2
    x1,y1,x2,y2=5,5,width-5,height-5
    
    my_draw()
b1=tk.Button(my_w,text='Restart',command=lambda:restart())
b1.grid(row=2,column=0)
Full code is here
import tkinter as tk
from random import randrange
my_w = tk.Tk()
width,height=410,410 # set the variables 
d=str(width)+"x"+str(height+40)
my_w.geometry(d) 
c1 = tk.Canvas(my_w, width=width-10, height=height-10)
c1.grid(row=1,column=0,padx=5,pady=5)
x1,y1,x2,y2=5,5,width-5,height-5
gap=25

def my_draw():
    global x1,y1,x2,y2    
    color_c='#%02x%02x%02x' % (randrange(256), randrange(256), randrange(256))
    c1.create_oval(x1, y1, x2,y2,fill=color_c)
    #c1.create_rectangle(x1, y1, x2,y2,fill=color_c)
    x1,y1,x2,y2=x1+gap,y1+gap,x2-gap,y2-gap
    print(x1)
   
    if (x1<(width/2)):
        c1.after(500,my_draw)
        
    else:
        return    
my_draw()
def restart():
    global x1,y1,x2,y2
    x1,y1,x2,y2=5,5,width-5,height-5
    
    my_draw()
b1=tk.Button(my_w,text='Restart',command=lambda:restart())
b1.grid(row=2,column=0)
my_w.mainloop()
Random colour circles in Canvas
Tkinter Canvas Moving element in Canvas
Sin & cos curves in Canvas

Subscribe

* indicates required
Subscribe to plus2net

    plus2net.com



    Post your comments , suggestion , error , requirements etc here





    Python Video Tutorials
    Python SQLite Video Tutorials
    Python MySQL Video Tutorials
    Python Tkinter Video Tutorials
    We use cookies to improve your browsing experience. . Learn more
    HTML MySQL PHP JavaScript ASP Photoshop Articles FORUM . Contact us
    ©2000-2021 plus2net.com All rights reserved worldwide Privacy Policy Disclaimer