3

私は pygame で問題を抱えています...再び...私は、簡単な答えのためにここに来る必要がないほど十分に良いことを誓います...

とにかく、今回の問題は、変数を内部に置いて画面にテキストを出力しようとしていることです。

wordfont = pygame.font.SysFont("sans",12)

class Status:

    def __init__(self):
        self.a=30

    def showme(self):
        health = wordfont.render(("Your health: ", self.a,), 1, (255, 9, 12))
        screen.blit(health, (150, 150))

それは文字列またはユニコードでなければならないと言われています...しかし、おそらく何らかの方法がありますか? 繰り返しますが、私が求めていないことは修正しないように皆さんに注意してください。これらのことを行うには、おそらくもっと簡単な方法があることを知っています...

4

3 に答える 3

1

tuple ("Your health: ", self.a,)の最初の引数としてを渡していますrender。代わりに文字列が必要だと思います。

変数を使用して文字列をフォーマットするにはいくつかの方法があります。1 つの方法は次のとおりです。

msg = "Your health: {0}".format(self.a)
health = wordfont.render(msg, 1, (255, 9, 12))
于 2013-04-01T14:09:38.063 に答える
1
health = wordfont.render(("Your health: ", self.a,), 1, (255, 9, 12))

する必要があります

health = wordfont.render("Your health: {0}".format(self.a), 1, (255, 9, 12))

また

health = wordfont.render("Your health: %s" % self.a), 1, (255, 9, 12))

("Your health: ", self.a,)タプルです。文字列を渡すことで、問題を解決できます。

私が何をしたかを理解するには、ここを参照してください...

于 2013-04-01T14:09:39.903 に答える