1
ここで何が間違っていますか? プレーヤーのスコアに合わせてラベルのテキストを更新したいと思います。 私は他の例を見て、更新メソッドを追加しましたが、テキストは変わりません。パイゲームでテキストを更新する
class Label():
def __init__(self, txt, location, size=(160,30), bg=WHITE, fg=BLACK, font_name="Segoe Print", font_size=12):
self.bg = bg
self.fg = fg
self.size = size
self.font = pygame.font.Font(font_name, font_size)
self.txt = txt
self.txt_surf = self.font.render(self.txt, 1, self.fg)
self.txt_rect = self.txt_surf.get_rect(center=[s//2 for s in self.size])
self.surface = pygame.surface.Surface(size)
self.rect = self.surface.get_rect(topleft=location)
def draw(self):
self.surface.fill(self.bg)
self.surface.blit(self.txt_surf, self.txt_rect)
screen.blit(self.surface, self.rect)
def update(self):
self.txt_surf = self.font.render(self.txt, 1, self.fg)
self.surface.blit(self.txt_surf, self.txt_rect)
DERP私は、自己の中にプレーヤーのスコアを入れていたという(pygame.text.renderを使用しているとき、私はfogotクラスで作業するとき、私はまだ初心者だwhileループ)にLabel.txtを更新するのを忘れ。 text.renderメソッドには直接入力しないでください。 –
ありがとう –