我正在尝试创建一个简单的口袋妖怪战斗模拟器。训练师有6个神奇宝贝,存储在一个列表中。我在.kv文件中有标签显示所需的信息 我的问题是,如果我将标签的text属性设置为Python变量:
text: '{}/{}'.format(root.pokemon.stats['cHealth'], root.pokemon.stats['Health'])
然后标签会不断更新,但是当设置为Python函数时:
text: root.pokemon.getHP()
使用getHP()函数:
def getHP(self):
return '{}/{}'.format(self.stats['cHealth'], self.stats['Health'])
更改运行状况时不会更新,但仅在更改持有神奇宝贝的列表时更新。 (例如,改变了神奇宝贝的顺序)在调用函数时是否有任何方法可以使绑定工作,或者是否必须用返回值替换所有函数调用?
答案 0 :(得分:1)
text: root.pokemon.getHP(root.pokemon.stats)
每次更改统计数据时,都会调用该函数。