teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

コード微修正

2021/02/07 08:26

投稿

teamikl
teamikl

スコア8817

answer CHANGED
@@ -15,7 +15,7 @@
15
15
 
16
16
  def move():
17
17
  ### (1) x座標に +1 移動
18
- canvas.move(circle, 1, 0)
18
+ canvas.move(ball, 1, 0)
19
19
  root.after(10, move)
20
20
 
21
21
  #ウィンドウを描く
@@ -26,8 +26,8 @@
26
26
  canvas=tk.Canvas(root, width=600, height=400, bg="white")
27
27
  canvas.place(x=0, y=0)
28
28
 
29
- ### (2) 円オブジェクトを生成
29
+ ### (2) 円形のオブジェクトを生成
30
- circle = canvas.create_oval(x - 20, y - 20, x + 20, y + 20, fill="red", width=0)
30
+ ball = canvas.create_oval(x - 20, y - 20, x + 20, y + 20, fill="red", width=0)
31
31
 
32
32
  root.after(10, move)
33
33
  root.mainloop()

3

実行環境について補足

2021/02/07 08:26

投稿

teamikl
teamikl

スコア8817

answer CHANGED
@@ -40,4 +40,5 @@
40
40
 
41
41
 
42
42
  ----
43
- 追記: Anaconda3/python3.7.9/win10 では、エラーは確認できませんでした。
43
+ 追記: Anaconda3/python3.7.9/win10
44
+ コマンドプロンプトからの実行では、エラーは確認できませんでした。

2

canvas.moev を用いたサンプルコードを追記

2021/02/07 08:20

投稿

teamikl
teamikl

スコア8817

answer CHANGED
@@ -3,10 +3,38 @@
3
3
  move() の度にオブジェクトが2つ生成され蓄積されてます。
4
4
 
5
5
  - create_oval は最初に一度のみ呼び出し、戻り値を控えておきます
6
- - オブジェクトを移動するには、canvas.move や moveto を使います。
6
+ - オブジェクトを移動するには、canvas.move を使います。
7
7
  - もしくは、もし削除するのであれば canvas.delete を使ってください。
8
8
 
9
+ ```python
10
+ import tkinter as tk
9
11
 
12
+ #円の座標
13
+ x=400
14
+ y=300
15
+
16
+ def move():
17
+ ### (1) x座標に +1 移動
18
+ canvas.move(circle, 1, 0)
19
+ root.after(10, move)
20
+
21
+ #ウィンドウを描く
22
+ root=tk.Tk()
23
+ root.geometry("600x400")
24
+
25
+ #キャンバスを置く
26
+ canvas=tk.Canvas(root, width=600, height=400, bg="white")
27
+ canvas.place(x=0, y=0)
28
+
29
+ ### (2) 円オブジェクトを生成
30
+ circle = canvas.create_oval(x - 20, y - 20, x + 20, y + 20, fill="red", width=0)
31
+
32
+ root.after(10, move)
33
+ root.mainloop()
34
+
35
+ ```
36
+
37
+
10
38
  エラー内容については、実行環境の問題ではないでしょうか。
11
39
  書籍の時点での対象バージョンや環境の確認をお勧めします。
12
40
 

1

動作報告を追記

2021/02/07 08:19

投稿

teamikl
teamikl

スコア8817

answer CHANGED
@@ -8,4 +8,8 @@
8
8
 
9
9
 
10
10
  エラー内容については、実行環境の問題ではないでしょうか。
11
- 書籍の時点での対象バージョンや環境の確認をお勧めします。
11
+ 書籍の時点での対象バージョンや環境の確認をお勧めします。
12
+
13
+
14
+ ----
15
+ 追記: Anaconda3/python3.7.9/win10 では、エラーは確認できませんでした。