-2
我使用Python和Tkinter創建遊戲。當遊戲結束時,我試圖顯示「遊戲結束」,我把它作爲一個圖像插入,然後幾秒鐘後,我想要另一個圖像。我試圖把time.sleep(2)
置於其間,但它沒有奏效,它在比賽結束後立即停止。如何延遲沒有time.sleep?
我使用Python和Tkinter創建遊戲。當遊戲結束時,我試圖顯示「遊戲結束」,我把它作爲一個圖像插入,然後幾秒鐘後,我想要另一個圖像。我試圖把time.sleep(2)
置於其間,但它沒有奏效,它在比賽結束後立即停止。如何延遲沒有time.sleep?
不要認爲「延遲」,認爲「時間表」。您可以像平常一樣創建「遊戲結束」屏幕,並使用after
安排某些操作。這允許GUI繼續響應事件。
下面的例子破壞了「遊戲結束」窗口,在兩秒鐘,但你可以很容易地只是交換了圖像,文字的變化,改變顏色等
import Tkinter as tk
def gameover():
top = tk.Toplevel(root)
label = tk.Label(top, text="Game over!")
label.pack(padx=20, pady=20, expand=True)
top.after(2000, top.destroy)
root = tk.Tk()
button = tk.Button(root, text='Click to simulate "game over"', command=gameover)
button.pack(padx=20, pady=20)
root.mainloop()
這似乎並不奏效。遊戲結束時,我在屏幕上創建了一張圖片,之後我需要它創建另一張圖片。我確實嘗試過「之後」,但想在第一次之後結束它,但我認爲它沒有處理它。對不起,我還是個初學者。 –
你能粘貼代碼嗎? –
看看tkinter'後'函數http://effbot.org/tkinterbook/widget.htm#Tkinter.Widget.after-method –
你有沒有嘗試過'master'上的'update()'方法.sleep(2)'語句? – ZbyszekKr