随时间改变一个变量

2024-06-08 21:23:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python有点陌生,我试图在pygame中制作一个小游戏,其中我有一个“饥饿条”,它会随着时间的推移而下降,我试图寻找一个模块或函数,它每x秒改变一次变量“饥饿”,但我发现的每个模块或函数都会停止所有代码,直到时钟用完。有人知道我该怎么做吗


Tags: 模块函数代码时间时钟pygame小游戏饥饿
1条回答
网友
1楼 · 发布于 2024-06-08 21:23:54

使用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

相关问题 更多 >