Я только что начал Python несколько дней назад, и я получил анимацию. Я работаю над одним, называемым «Bounce!», И он имеет это имя на экране, с другими настройками. Настройки - FPS и скорость (приращение). Но, поскольку овальный отскок, эти настройки меняются, и я хочу, чтобы текст изменился вместе с ним, но я не знаю, как это сделать. Это мой текущий код:Python tkinter text text transitioning
import time
from tkinter import *
tk = Tk()
fps=30
increment=2
canvas = Canvas(tk,height='500',width='500')
canvas.pack()
canvas.create_oval(175,100,325,250,fill='red',outline='black')
canvas.create_line(50,100,450,100)
canvas.create_line(50,450,450,450)
canvas.create_text(250,30,text='Bounce!',fill='red',font=('Consolas',30))
x = canvas.create_text(250,75,text=('FPS: %s; Speed: %s'% (fps,increment)),fill='black',font=('Consolas',20)) #mainproblem
while True:
increment += 1
if increment % 2 == 0 and fps > 1:
fps = fps - 1
#I want the 'x' text to change to the current FPS and Speed here, but I do not know how.
for x in range(0, int(200/increment)):
canvas.move(1,0,increment)
tk.update()
time.sleep(1/fps)
for x in range(0, int(200/increment)):
canvas.move(1,0,-(increment))
tk.update()
time.sleep(1/fps)
Я использую Python 3.4.2.
Tkinter не предназначен для использования таким образом, - в общем, вы никогда не должны вызывать 'sleep' в графическом интерфейсе, не может иметь свой собственный бесконечный цикл. Есть, я думаю, несколько вопросов и ответов о выполнении анимации в tkinter на этом сайте, и все это вращается вокруг запуска mainloop и вызывает 'after' для запуска функций периодически. –