我正在尝试为我的朋友制作一个点击游戏。我只想知道如何制作一个按钮,当点击它时,它会点击另一个按钮。这是一些代码:
from tkinter import *
import time
root = Tk()
root.geometry('600x600')
score = 2000000
clicker_counter = 0
def counter():
global score
score += 1
points_label.config(text=score)
def autoclicker(args):
global clicker_counter
if args == 1:
pass
def clickerpurchase():
global clicker_counter
global score
if score >= 1000:
score -= 1000
clicker_counter += 1
points_label.config(text=score)
clicker_label['text'] += str(clicker_counter)
clicker_label.config(text='purchase clicker(1k): ' + str(clicker_counter))
clicker_button = Button(root, text='purchase', command=lambda:[clickerpurchase, autoclicker(1)])
clicker_button.grid(row=0, column=3)
clicker_label = Label(root, text='purchase clicker(1k): ')
clicker_label.grid(row=0, column=2)
points_label = Label(root, text='0')
points_label.grid(row=0, column=1)
points_button = Button(root, text='click me', command=counter)
points_button.grid(row=0, column=0)
points_label.config(text=score)
root.mainloop()
clicker_button
是主要关心的问题。该clickerpurchase()
函数负责更新score
和clicker_counter
。该按钮也绑定到autoclicker(args)
。我希望每隔一段时间clicker_button
点击points_button
一次。我正在考虑将自动点击代码放入autoclicker(args)
函数中,但我不知道它的代码。
编辑:我在我的counter()
函数中创建了一个“while”循环并添加args
到它。我给出points_button
了 1clicker_button
的 arg 和 2 的 arg。我的代码现在看起来像这样:
def counter(args):
global score
if args == 1:
score += 1
points_label.config(text=score)
if args == 2:
while args == 2:
time.sleep(1)
points_button.invoke()
points_button = Button(root, text='click me', command=counter(1))
points_button.grid(row=0, column=0)
clicker_button = Button(root, text='purchase', command=lambda:[clickerpurchase, counter(2)])
clicker_button.grid(row=0, column=3)
每当我单击时clicker_button
,points_button
都会单击,但程序会崩溃。我完全放弃了这个autoclicker(args)
功能。