1
ボールが画面の周りをちょうど跳ね返るプログラムがあります。クラス、リスト、およびforループを使用して、画面の周りを跳ね返るボールを作成しました。 list is not callable
というエラーが表示されます。私のリストの下に、ball.appendと書かれているコードの末尾に、呼び出し可能なエラーがありませんが、私はそれを修正する方法がわかりません。
from tkinter import *
from random import uniform, randrange
import time
#left,top,right,bottom
tk = Tk()
canvas = Canvas(tk,width=600,height=600)
canvas.pack()
class Ball:#ball characteristics
def __init__(self,color,size):
self.shape = canvas.create_oval(10,10,50,50,fill="blue")
self.xspeed = randrange(1,6)
self.yspeed = randrange(1,6)
def move(self):#ball animation
canvas.move(self.shape,self.xspeed,self.yspeed)
pos = canvas.coords(self.shape)
if pos[0] <= 0 or pos[2] >= 600:#if ball hits the wall#
self.xspeed = -self.xspeed
if pos[1] <= 0 or pos[3] >= 600:
self.yspeed = -self.yspeed
balls = []
for i in range(100):
balls.append(Ball("red",50))
while True:
for ball in balls():
ball.move()
tk.update()
time.sleep(0.01)
常に完全なエラーメッセージ(トレースバック)を入れてください。他にも有用な情報があります。 – furas