随时间更改变量

时间:2020-03-28 17:08:23

标签: python variables time pygame seconds

我是python的新手,我试图在pygame中做一个小游戏,其中我有一个“饥饿栏”,随着时间的流逝它会下降,我试图寻找一个模块或函数来每x秒更改一次变量“ hunger”,但我发现的每一个都会停止所有代码,直到时钟用完。任何人都有一个想法,我如何使它起作用?

1 个答案:

答案 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