Я хотел бы подтвердить свое понимание "свойства" Kivy (например: ObjectProperty, NumericProperty, ...
).
Из примера https://kivy.org/doc/stable/tutorials/pong.html я заметил, что при переходе с score = NumericProperty(0)
до score = 0
, то оценка не будет обновляться.
class PongPaddle(Widget):
score = NumericProperty(0)
class PongGame(Widget):
ball = ObjectProperty(None)
player1 = ObjectProperty(None)
player2 = ObjectProperty(None)
в файле pong.kv
:
<PongGame>:
ball: pong_ball
player1: player_left
player2: player_right
Label:
font_size: 70
center_x: root.width / 4
top: root.top - 50
text: str(root.player1.score)
- Таким образом, одним из преимуществ использования свойства является то, что оно может автоматически обновлять свойство, объявленное в
.kv
файл..?(особенно в этом примере, метка очков будет обновляться в интерактивном режиме в игре, когда кто-то забивает). - Без «Property», тогда единственный способ - обновить его вручную в
.py
..?
Спасибо.