在第二次单击时,您将如何在第一次单击和'正常'状态下在'down'状态中放一个按钮?您会从DirectButton还是DirectCheckButton中做到这一点?这是我到目前为止尝试的。
from direct.showbase.ShowBase import ShowBase
from direct.gui.DirectGui import *
class Core(ShowBase):
def __init__(self):
ShowBase.__init__(self)
ButtonBar()
class ButtonBar():
def __init__(self):
self.makebtns()
def makebtns(self):
self.btnsr = DirectButton(command=self.toggle)
self.btnsr['extraArgs'] = [self.btnsr]
def toggle(self,me):
if me['state'] == 'normal':
me['state'] = 'down'
core = Core()
core.run()
将状态更改为"向下"冻结按钮,因为它不是有效的状态。如何实现此功能?
从panda3d话语中获得了答案。Thaumaturge的答案低于
嗯...我不确定DirectButton的"状态"字段是您想要的,而是PGITEM的" Setstate"方法。无论哪种方式,适当的状态不是"下降",而是" dgg.button_depressed_state"(具有" 1"值(。同样,"准备就绪"(即未经压力(状态为" dgg.button_ready_state"(具有" 0"值(。
简而言之,您可以尝试这样的命令:
myDirectButton.node().setState(DGG.BUTTON_DEPRESSED_STATE)