繁体   English   中英

如何在不导入时间的情况下在 Python 中制作倒数计时器?

[英]How do I make a countdown timer in Python without importing time?

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

time.sleep()让你的程序等待一段时间而不做任何事情。 通常的做法是使用time.time()类的东西来获取当前时间,正如您的标题所说:使用循环从那里“倒计时”并获取时间的起始值和当前值之间的差异time.time() 如果它大于您想要的值,那么只需跳出循环即可。

假设您有一个运行程序的每个滴答声的游戏循环,您可以拥有一个 Countdown 类,它的countdownElapsed函数在游戏循环的每个滴答声中都会被调用,并检查您的倒计时何时为零

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM