move()メソッドを使って円が動くプログラムを作ろう
前回は delete()メソッドで円を消して円を再描画していましたが、今回は move()メソッドを使って円を動かしてみましょう。
move()メソッドの書式
move()メソッドは、オブジェクトIDで指定したアイテムを移動させます。
オブジェクトIDはキャンバスに描画するアイテムの戻り値として取得できます。
オブジェクトID = ウィジェット名.メソッド名
例
id = canvas.create_oval(0, 0, 20, 20)
move()メソッドの書式は、以下の通りです。
ウィジェット.move(オブジェクトID, 移動するX座標, 移動するY座標)
Pythonスクリプト
move()メソッドを使って円を移動させるプログラムは、以下のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
### インポート import tkinter ### 定数 SIZE = 20 # 円サイズ ### 変数 x_pos = 0 # X座標 y_pos = 190 # Y座標 ### キャンバス作成 canvas = tkinter.Canvas(width=640, height=400) ### キャンバス表示 canvas.pack() ### オブジェクトID取得 id = canvas.create_oval(x_pos, y_pos, x_pos+SIZE, y_pos+SIZE, outline="red", fill="red") ### 処理実行関数 def run(): ### 円移動 canvas.move(id, 3, 0) ### 待機 canvas.after(50, run) ### 処理実行 run() ### イベントループ canvas.mainloop() |
プログラムを実行すると、円が左から右に移動します。