【发布时间】:2018-07-01 01:45:28
【问题描述】:
在 python 脚本中,我希望每次单击按钮时计数器都会增加。在我当前的代码中,当您单击按钮时,数字不会增加。我做错了什么?
import direct.directbase.DirectStart
from direct.gui.OnscreenText import OnscreenText
from direct.gui.DirectGui import *
from panda3d.core import TextNode
clickCount = 0
bk_text = "Times Clicked: " + str(clickCount)
textObject = OnscreenText(text = bk_text, pos = (0.95, -0.95),
scale = 0.07, fg = (1,0.5,0.5,1),
align=TextNode.ACenter, mayChange = 1)
def setText(clickCount):
addClickCount(clickCount)
bk_text = "Times Clicked: " + str(clickCount)
textObject.setText(bk_text)
def addClickCount(clickCount):
clickCount += 1
return clickCount
b = DirectButton(text = ("button"), scale=.05, command=setText(clickCount))
run()
【问题讨论】:
-
这是因为您通过复制将其传递给函数,所以
addClickCount中的clickCount不是全局clickCount -
您需要将返回值分配给某个东西,然后使用它 -
something = addClickCount(clickCount)。很确定这是重复的...
标签: python function button numbers int