我是python的新手,我试图在pygame中做一个小游戏,其中我有一个“饥饿栏”,随着时间的流逝它会下降,我试图寻找一个模块或函数来每x秒更改一次变量“ hunger”,但我发现的每一个都会停止所有代码,直到时钟用完。任何人都有一个想法,我如何使它起作用?
答案 0 :(得分:2)
在理想情况下,您可以使用python的threading
模块。
您可以生成一个子线程,该子线程在后台连续运行,并在指定的时间间隔后将hunger
变量减小一定值。
例如:
import time
import threading
hunger = 100
def hungerstrike():
global hunger
while True:
hunger -= 1
time.sleep(2) # sleep for 2 seconds
def main():
t = threading.Thread(target=hungerstrike) # start a child thread
t.daemon = True
t.start()
# TODO: Do other work
time.sleep(6)
print("After 6 seconds, the value of hunger is:", hunger)
main()
的输出:
After 6 seconds, the value of hunger is: 97