Как отобразить счет в Vpython?

Мой код

from visual import *

class Punktecounter():
    def __init__(self,position=(0,0), score=0):
        self.counter = label(pos=position, color=color.red, text=str(score))
        self.score = score
    def scoring(self):
        self.score = self.score+1
        print (self.score)

p = Punktecounter()
while True:
    p.scoring()
    rate(1)

Так что печатная часть работает нормально. Но этикетка не показывает счет. Как это исправить?


person m00lti    schedule 06.03.2013    source источник


Ответы (2)


Метка не будет обновляться сама по себе, вам нужно сделать это явно:

def scoring(self):
    self.score=self.score+1
    self.label.text = str(self.score)
    print (self.score)
person Martijn Pieters    schedule 06.03.2013
comment
Спасибо, это мне очень помогло! - person m00lti; 24.06.2013

Это должно быть что-то вроде этого

def scoring(self):
    self.score=self.score+1
    self.counter.text = str(self.score)
    print (self.score)
person network_freaksme    schedule 22.09.2015