如何在python中创建计时器而不冻结整个代码

如何在python中创建计时器而不冻结整个代码,python,timer,pygame,sleep,Python,Timer,Pygame,Sleep,我正在使用Pygame对Mario进行编码,现在正在对块进行编码。我想制作一个计时器,这样当我在一秒钟后击中该块时,该块将返回其原始位置以制作击中动画。问题是当使用sleep it使计时器在计时器持续时间内冻结整个游戏时。我需要代码来运行,过了一秒钟,前一段代码就开始运行了 我曾尝试使用睡眠来制作计时器,但它冻结了整个游戏。谁能告诉我一些知识?谢谢 我建议您使用模块和线程两个函数 最后,您可以设置如下格式: from threading import Thread if __name__ ==

我正在使用Pygame对Mario进行编码,现在正在对块进行编码。我想制作一个计时器,这样当我在一秒钟后击中该块时,该块将返回其原始位置以制作击中动画。问题是当使用sleep it使计时器在计时器持续时间内冻结整个游戏时。我需要代码来运行,过了一秒钟,前一段代码就开始运行了


我曾尝试使用睡眠来制作计时器,但它冻结了整个游戏。谁能告诉我一些知识?谢谢

我建议您使用模块和线程两个函数

最后,您可以设置如下格式:

from threading import Thread
if __name__ == '__main__':
    Thread(target = game()).start()
    Thread(target = timer()).start()
另一个选项是模块。您可以设置计时器,并使用if/while语句检查何时达到某个特定时间

第三个选项是用于睡眠的时间模块:

import time

max_time = #the time you want
start_time = time.time()
while (time.time() - start_time) < max_time:
    game()
导入时间
最大时间=#你想要的时间
开始时间=time.time()
而(time.time()-开始时间)
我建议您使用模块和线程两个函数

最后,您可以设置如下格式:

from threading import Thread
if __name__ == '__main__':
    Thread(target = game()).start()
    Thread(target = timer()).start()
另一个选项是模块。您可以设置计时器,并使用if/while语句检查何时达到某个特定时间

第三个选项是用于睡眠的时间模块:

import time

max_time = #the time you want
start_time = time.time()
while (time.time() - start_time) < max_time:
    game()
导入时间
最大时间=#你想要的时间
开始时间=time.time()
而(time.time()-开始时间)
导入系统
导入时间
导入操作系统
计数器=0
s=0
m=0
n=int(输入(“直到您希望计时器设置为多少秒:”)
打印(“”)
当计数器
导入系统时
导入时间
导入操作系统
计数器=0
s=0
m=0
n=int(输入(“直到您希望计时器设置为多少秒:”)
打印(“”)

欢迎来到stackoverflow!你回答的问题已经超过一年了。请尝试回答新问题,这更有帮助。不要只添加代码块。解释你的答案,让造物主能够向你学习。嗨@LumberFizz,欢迎来到stackoverflow!你回答的问题已经超过一年了。请尝试回答新问题,这更有帮助。不要只添加代码块。解释你的答案,让造物主能够向你学习。