我剛剛在幾天前啓動了Python,並且已經開始動畫了。我正在研究一個名爲「Bounce!」的工具,並在屏幕上顯示該名稱以及其他設置。設置爲FPS和速度(增量)。但是,當一個橢圓形彈起時,這些設置會改變,我希望文字隨之改變,但我不知道如何改變。這是我當前的代碼:Python tkinter模塊文本轉換
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'在GUI中,也有自己的無限循環。我想,在這個網站上有關於在tkinter中做動畫的幾個問題和答案,所有這些都圍繞着運行mainloop並調用'after'來定期運行函數。 –