質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

4237閲覧

coordsのエラー

yupiteru

総合スコア1

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/04/23 07:30

coordsを使用した時illegal target for annotationというエラーが出てしまします。

python

1コード

import tkinter as tk
import time

root = tk.Tk()
canvas = tk.Canvas(root, width = 300, height = 300, bg = "white")
canvas.pack()
W = 20
ball = canvas.create_oval(5,5,5+W ,5+W, fill = "red")
x = 100
y = 100
Vx = 5
LM = 300 - W

while(True):
canvas.coords(ball, x, y, x+W, y+W): root.update()
x += Vx
if X <= 0:
Vx = abs(Vx)

elif x >= LM: Vx = -abs(Vx) time.sleep(0.01)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

いくつか間違いがありました。

canvas.coords(ball, x, y, x+W, y+W): root.update()は打ち間違いでしょう。
if X <= 0: は、pythonでは大文字と小文字を区別するのでエラーになります。

修正版です。

python

1import tkinter as tk 2import time 3 4root = tk.Tk() 5canvas = tk.Canvas(root, width = 300, height = 300, bg = "white") 6canvas.pack() 7W = 20 8ball = canvas.create_oval(5,5,5+W ,5+W, fill = "red") 9x = 100 10y = 100 11Vx = 5 12LM = 300 - W 13 14while(True): 15 canvas.coords(ball, x, y, x+W, y+W) 16 root.update() 17 x += Vx 18 if x <= 0: 19 Vx = abs(Vx) 20 elif x >= LM: 21 Vx = -abs(Vx) 22 time.sleep(0.01)

投稿2021/04/23 09:03

編集2021/04/23 09:06
ppaul

総合スコア24666

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yupiteru

2021/04/24 09:09

解決しました。 ありがとうこざいます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問