【问题标题】:How to delay without time.sleep? [closed]如何在没有时间的情况下延迟.sleep? [关闭]
【发布时间】:2016-05-06 14:54:34
【问题描述】:

我正在使用 Python 和 Tkinter 来创建游戏。游戏结束时,我试图显示“游戏结束”,我将其作为图像插入,然后几秒钟后我想放另一张图像。我尝试在两者之间添加time.sleep(2),但没有成功,游戏结束后它立即停止。

【问题讨论】:

标签: python time tkinter sleep


【解决方案1】:

不要想“延迟”,要想“计划”。您可以像平常一样创建“游戏结束”屏幕,并使用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()

【讨论】:

  • 它似乎不起作用。我刚刚在游戏结束时在屏幕上创建了一个图像,稍后我需要它来创建另一个。我确实尝试过“之后”,但想在第一次我认为它没有处理它之后结束它。对不起,我还是个初学者。
猜你喜欢
  • 1970-01-01
  • 2013-02-18
  • 2021-06-21
  • 2019-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多