如何在Python中创建“每1/10秒更新一次”函数?

p8ekf7hl  于 2023-10-21  发布在  Python
关注(0)|答案(2)|浏览(119)

我试图使最糟糕的饼干点击器游戏可能,但我不知道如何使更新每1/10秒在python。plz帮助(im不使用pygame顺便说一句)

from tkinter import *
import time

points = 0
money = 0
bonus = 0

def click(points,money):
    points += bonus
    money += points

def update():
    #help me i dont know anything about this type of function
    pass

game = Tk()

cookies= Label(game, text=f'Cookies: {money}',font=(14)).grid(row=0,column=0)
cookie = Button(game,text='\nCookie\n',font=(20),command=lambda :click(points,money)).grid(row=1,column=0)

update()

game.mainloop()

我真的不知道如何使这种类型的功能,但我希望它更新游戏每秒10次,所以如果你点击“cookie”,它会增加一个分数。(我还没有完成游戏,所以我所拥有的只是饼干和分数)

wwtsj6pe

wwtsj6pe1#

也许你可以像下面这样使用方法:

def update():
    #help me i dont know anything about this type of function
    game.after(100, update)
2uluyalo

2uluyalo2#

Tkinter after方法用于在一定时间后触发函数。

(只调用一次)

该函数接受3个主要参数:
1.调用after方法的对象(由widget.after()自动传递
1.函数被调用之前的时间延迟(毫秒)。
Tkinter只保证回调不会在此之前被调用;如果系统忙碌,则实际延迟可能更长。
(from基本小部件方法)
1.在该时间段之后应调用的函数
如果你想在second中调用update函数10次,你可以这样使用after函数:

def update():
    # The rest of your update code
    game.after(100, update)
  • 100传递给ms延迟参数,因为1000 ms in a sec1000 / 10 = 100
  • update传递给函数参数,使其重复执行。

相关问题