python - 我正在尝试做一个点击游戏,但它不起作用,为什么?
问题描述
我对python真的很陌生,我并不想做一些超级特别的事情,我不知道为什么我的点击计数器只计算1次点击,然后就不再计算了。这是我的代码:
from tkinter import *
click = 0
mult1 = 0
def mult():
global mult1
mult1 = mult1 + 1
def clicked():
global click1
global click2
click1 = click + 1
click2 = click1 + mult1
label1.configure(text=f'Total Clicks: {click2}', font=("Calibri", 26))
def mult():
global mult1
mult1 = mult1 + 1
def gui():
global label1
global gui
gui = Tk()
gui.geometry("800x500")
btn_click = Button(gui, text="Click to add Clicks!", padx=20, pady=20, font=("Times 16", 15), command=clicked).place(x=310, y=430)
label1 = Label(gui)
label1.grid(column=0, row=10)
gui.mainloop()
gui()
解决方案
首先,您只有一个按钮。mult
永远不会被调用。mult1
因此,始终保持在 0。其次,您使用 3 个不同的变量(和) click
,而您只需要 1 个。click1
click2
from tkinter import *
total_clicks = 0
clicks_to_add = 1
def mult():
global clicks_to_add
clicks_to_add += 1
def clicked():
global total_clicks
total_clicks += clicks_to_add
label1.configure(text=f'Total Clicks: {total_clicks}', font=("Calibri", 26))
def main():
global label1
global gui
gui = Tk()
gui.geometry("800x500")
btn_click = Button(gui, text="Click to add Clicks!", padx=20, pady=20, font=("Times 16", 15), command=clicked).place(x=310, y=430)
label1 = Label(gui)
label1.grid(column=0, row=10)
gui.mainloop()
main()
推荐阅读
- python - Pandas 合并/过滤数据框
- node.js - brew install yvm --without-node 失败
- ruby-on-rails - 如何在 Ruby On Rails 中使用没有模型的 Faker gem?
- python - 包含可滚动画布的框架未占用分配的 Tk 窗口的其余部分
- json - Databricks - 使用 PySpark 从 SQL 列中分解 JSON
- parse-platform - 如何部署解析服务器的提交?
- python - 如何使用带有自定义函数的 pandas 聚合
- java - 了解一般游戏循环
- php - Woocommerce - 如果没有产品在售,则隐藏“特价”行
- spring - 春季批处理调度期间出现的错误