簡體   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