初歩のアニメ_孫と遊ぶためのPython入門(9)

アニメの基本をマスターする。
PythonのグラフィックGUIは強力とはほど遠い。
でも基本を覚えるにはちょうど良い程度だと思う。

基本のグラフィックを孫にも(老人にも)わかるように書いてみた。
愚直だが、決してこれが悪いとは思わない。

【本日の気になるキーコード】
 time.sleep()
 canvas.pack()
 canvas.update()
 canvas.delete("tags")


##---本日のコード;動画の基本ーーーーーーーーーー

import tkinter as tk
import time
root = tk.Tk()

'''
r = 動く円の半径
円の中心座標 (a0,b0)
ovalの座標 x0 = a0-r , y0 = b0-r
'''
r = 30 # 移動する円の半径
r2 = r*2 # 移動する円の直径
a0 = 100 # 移動する円の中心座標x値
b0 = 100 # 移動する円の中心座標y値
a9 = 500 # 移動した円の中心座標x値:a0+400
b9 = 500 # 移動した円の中心座標y値:b0+400

sleep_time = 0.04 #タイマー
tt = 5 #移動距離単位

x0 = a0 - r #はじめの円の肩座標
y0 = b0 - r

x9 = a9 - r #終わりの円の肩座標
y9 = b9 - r
canvas=tk.Canvas(root,width = "640",height ="640")

step = 0
while step < 6:

___for xx in range(x0,x9,tt):
________time.sleep(sleep_time)
________canvas.create_oval(xx, y0, xx + r2, y0 + r2 , fill= "red" ,tags = "o")
________canvas.pack()
________canvas.update()
________canvas.delete("o")
___canvas.create_rectangle(x9,y0,x9+r2,y0+r2,fill = "red")
___for yy in range(y0,y9,tt):
________time.sleep(sleep_time)
________canvas.create_oval(x9, yy, x9 + r2 , yy + r2, fill= "blue",tags = "o")
________canvas.pack()
________canvas.update()
________canvas.delete("o")
___canvas.create_rectangle(x9,y9,x9+r2,y9+r2,fill = "blue")
___for xx in range(x9,x0,-tt):
________time.sleep(sleep_time)
________canvas.create_oval(xx, y9, xx+ r2 , y9 + r2,fill= "green",tags = "o")
________canvas.pack()
________canvas.update()
________canvas.delete("o")
___canvas.create_rectangle(x0,y9,x0+r2,y9+r2,fill = "green")

___for yy in range(y9,y0,-tt):
________time.sleep(sleep_time)
________canvas.create_oval(x0 , yy ,x0 + r2 ,yy + r2 ,fill= "lightblue",tags = "o")
________canvas.pack()
________canvas.update()
________canvas.delete("o")
___canvas.create_oval(x0 , y0 ,x0 + r2 ,y0 + r2 ,fill= "lightblue",tags = "o")

___step = step + 1
root.mainloop