如何在Python中建立倒数计时器而不导入时间?

时间:2019-12-10 13:20:21

标签: python

我正在使用Python创建游戏的倒数计时器。我的问题是我只能找到使用time.sleep()的代码,这会暂停整个代码。有没有一种方法可以使倒数计时器例如从60秒开始。可以使用millis()吗?

2 个答案:

答案 0 :(得分:0)

time.sleep()使您的程序等待一段时间而不执行任何操作。 通常这样做的方法是使用类似time.time()的方法来获取当前时间,正如您的标题所说:使用循环从那里“倒数”,并获得{{ 1}}。如果它大于您的期望值,则只需跳出循环即可。

答案 1 :(得分:0)

假设您有一个运行程序每个计时周期的游戏循环,则可以创建一个Countdown类,其countdownElapsed函数在游戏循环的每个计时周期被调用,并检查您的倒计时何时为零

// Pseudo-code
func countdownElapsed(countdown):
    return (countdown.lastTime - time.currentTime()) < 0

您还可以创建一个Scheduler类,该类存储一堆函数指针,它们的参数以及您要在某种类型的向量内调用所述函数指针的时间,并在每次滴答时对向量内的每个函数进行上面的检查。

最后,您还可以拥有一个单独的线程来睡眠和执行对时间敏感的任务。