我用Tkinter做了一个风险类型的游戏(有点接近帝国),我想做一个ingame的军队增援和金钱增益时钟。你知道吗
问题是:当我运行它时,while循环会停止游戏的其余部分。。。我怎么做一个时钟,是不是可怕的复杂,将增加变量。你知道吗
我的时钟代码是:
def timeclock(m,y):
while m <= 12:
time.sleep(30)
m += 1
clock.configure(text = "Month: "+str(m)+", Year: "+str(y))
else:
m = 1
y += 1
clock.configure(text = "Month: "+str(m)+", Year: "+str(y))
那个时钟配置走向我为游戏制作的标签,它显然只是刷新文本。你知道吗
你要知道,我不使用我的应用程序或.pack函数类,因为我最近开始使用Tkinter,我没有使用它们就学会了。尽管我像大多数中级python程序员一样理解类。请帮帮我!你知道吗
您需要使用
after
方法来创建时钟,因为time.sleep
会停止所有操作,直到它完成。你知道吗看看这个例子。它创建一个标签和一个按钮,然后在100ms后运行
timeclock
。timeclock
函数配置时钟,然后在100ms后再次调用自己。这不会中断Tkinter主循环,这就是为什么按钮仍然工作的原因。你知道吗但是,只要不将应用程序放入类中,就必须使m和y成为全局的,才能在函数中使用它们,除非可以从标签文本中提取它们。你知道吗
要避免全局变量,可以执行以下示例中的操作。它通过查看标签得到月份和年份。你知道吗
相关问题 更多 >
编程相关推荐