首页 > 解决方案 > 第一次使用后再次启动threading.Timer

问题描述

我正在 Pygame 中开发 Snake 游戏,但遇到了一个小问题:我的 Snake 移动得太快了。我以为我可以使用 time.sleep(),但是这样程序会自行停止并且不再注册按键。所以我在互联网上寻找其他选项,我发现我可以使用线程。这是一个很好的解决方案,但我实际上在使用后无法重新启动计时器。

import threading
def mythread():
    print("hello")
t=threading.Timer(3.0,mythread)

我运行测试代码,然后我尝试运行命令

t.start()

但我收到此错误消息:

Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    t.start()
RuntimeError: threads can only be started once

我只是希望能够再次启动计时器,有没有办法做到这一点?

标签: pythontimerpygame

解决方案


推荐阅读