在Panda3D中切换一个按钮



在第二次单击时,您将如何在第一次单击和'正常'状态下在'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)

相关内容

  • 没有找到相关文章

最新更新