我正在使用Python和Tkinter来创建游戏。当游戏结束时,我正在尝试显示“Game Over”,我将其作为图像插入,然后在几秒钟后我想要放置另一张图像。我试图将time.sleep(2)
置于其间,但它没有奏效,它在游戏结束后立即停止。
答案 0 :(得分:2)
不要思考"延迟",思考"安排"。你可以创建"游戏"屏幕像正常一样,并使用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()