我正在使用Python创建游戏的倒数计时器。我的问题是我只能找到使用time.sleep()
的代码,这会暂停整个代码。有没有一种方法可以使倒数计时器例如从60秒开始。可以使用millis()吗?
答案 0 :(得分:0)
time.sleep()
使您的程序等待一段时间而不执行任何操作。
通常这样做的方法是使用类似time.time()
的方法来获取当前时间,正如您的标题所说:使用循环从那里“倒数”,并获得{{ 1}}。如果它大于您的期望值,则只需跳出循环即可。
答案 1 :(得分:0)
假设您有一个运行程序每个计时周期的游戏循环,则可以创建一个Countdown类,其countdownElapsed
函数在游戏循环的每个计时周期被调用,并检查您的倒计时何时为零
// Pseudo-code
func countdownElapsed(countdown):
return (countdown.lastTime - time.currentTime()) < 0
您还可以创建一个Scheduler类,该类存储一堆函数指针,它们的参数以及您要在某种类型的向量内调用所述函数指针的时间,并在每次滴答时对向量内的每个函数进行上面的检查。
最后,您还可以拥有一个单独的线程来睡眠和执行对时间敏感的任务。