Мне нужна помощь для выполнения задания, я задал вопрос, связанный с этим вечером, но я понимаю, что он был очень плохо изложен и написан. Я постараюсь быть более конкретным на этот раз.
У меня есть следующий фрагмент кода, он находится внутри класса Game (который наследуется от класса Canvas):
def move_ball(self):
if self.balldir==0:
self.move(self.ball,0,-10)
elif self.balldir==1:
self.move(self.ball,0,10)
root.after(20,self.move_ball)
Этот метод предназначен для перемещения мяча на холсте, согласно self.balldir. Если это 0, он движется вверх, если это 1, он движется вниз.
Он отлично работает в течение нескольких секунд, но затем просто замедляет и замедляет игру до полной остановки. Я тоже пробовал с time.sleep, но он не очень хорошо работает с Tkinter (как вы, наверное, уже знаете).
Я думаю, что проблема заключается в использовании root.after()
, но я действительно не знаю другого способа перемещения объекта на неопределенное время.