我试图创建一个简单的口袋妖怪战斗模拟器。一个训练师有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'])
当健康状况发生变化时,它们不会更新,但只有当保存神奇宝贝的列表发生变化时才会更新。(例如,Pokémon的顺序发生了变化)在调用函数时,是否有任何方法使绑定工作,或者所有函数调用都必须被其返回值替换?你知道吗
kv lang将自动绑定其中声明的属性,因此您可以将stats发送到您的函数并进行绑定:)
每次更改stats时,都会调用函数。你知道吗
相关问题 更多 >
编程相关推荐