62

Pythonを使用してpygameウィンドウにテキストを表示する方法はありますか?

更新される一連のライブ情報を表示する必要があり、必要な各キャラクターの画像を作成したくありません。

画面にテキストをブリットできますか?

4

5 に答える 5

71

はい。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))
于 2012-04-09T18:18:10.007 に答える
12

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)

次に、fontObj.render を使用してフォントをレンダリングし、上記の veiset の回答のようにサーフェスにブリットします。:)

于 2012-04-09T22:38:06.243 に答える
3

テキストサーフェスをキャッシュし、ダーティの場合にのみ再レンダリングするラッパーを作成しました。googlecode / ninmonkey / nin.text / demo /

于 2012-04-15T21:05:33.047 に答える