Pythonを使用してpygameウィンドウにテキストを表示する方法はありますか?
更新するライブ情報の束を表示する必要があり、必要な各キャラクターの画像を作成する必要はありません。
画面にテキストをブリットできますか?
はい。 pygameでテキストを描くことが可能です:
# initialize font; must be called after 'pygame.init()' to avoid 'Font not Initialized' error
myfont = pygame.font.SysFont("monospace", 15)
# render text
label = myfont.render("Some text!", 1, (255,255,0))
screen.blit(label, (100, 100))
pygame.font.Font を使用してフォントパスを設定することにより、独自のカスタムフォントを使用できます。
pygame.font.Font(filename, size): return Font
例:
pygame.font.init()
font_path = "./fonts/newfont.ttf"
font_size = 32
fontObj = pygame.font.Font(font_path, font_size)
次に、上記のveisetの答えのように、fontObj.renderを使用してフォントをレンダリングし、表面にブリットします。 :)
ゲームにライブスコアを表示するコードがあります。素早くアクセスするための機能です。
def texts(score):
font=pygame.font.Font(None,30)
scoretext=font.render("Score:"+str(score), 1,(255,255,255))
screen.blit(scoretext, (500, 457))
そして、whileループでこれを使用して呼び出します:
texts(score)
テキストサーフェスをキャッシュし、ダーティな場合にのみ再レンダリングするラッパーを作成しました。 googlecode/ninmonkey/nin.text/demo /