python - 随时间改变变量
问题描述
我对python有点陌生,我正在尝试在pygame中制作一个小游戏,其中我有一个随着时间的推移而下降的“饥饿条”,我试图每x秒寻找一个模块或函数更改变量“饥饿”,但我发现的每一个都停止所有代码,直到时钟用完。任何人都知道我怎样才能让它工作?
解决方案
您处于使用 pythonthreading
模块的理想情况。您可以生成一个在后台连续运行的子线程,并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
推荐阅读
- java - 在字符串中编辑 Unicode
- r - with() 块内的返回函数
- python - unique_together 可以避免 Django 中的空值吗
- python - 通过多个类的 HREF 属性在页面上查找元素
- html - 谷歌电子表格列值到 html 页面
- laravel - 在 Lumen 中验证后调用控制器方法
- java - Android:如何从片段中以编程方式单击先前位于活动堆栈中活动中的按钮?
- php - 无法通过 PHP GraphAware 连接 AuraDB
- c# - 2D Portal 有时只能在 Unity 中工作
- regex - 正则表达式:如果组不存在,则将其视为可选组,但如果存在则仅捕获该组之前的前一个组