Pygame でテキストを表示する

Maxim Maeder 2023年6月21日 Pygame Pygame Text
  1. Pygame にフォントをインポートする
  2. Pygame でテキストを表示する
Pygame でテキストを表示する

このチュートリアルでは、Pygame でテキストを描画する方法を説明します。

ここに表示されるコードは、有効な Pygame ウィンドウの完全なコードではありません。 必要最小限のフレームワークに興味がある場合は、この 記事 を参照してください。

Pygame にフォントをインポートする

何かを書く前に、フォントをインポートする必要があります。 これには 2つの方法があります。pygame.font.SysFont(fontname, size) を使用して Windows の fonts フォルダーに表示されているフォント名を指定するか、pygame.font.Font(font_file_path, size) フォント ファイルのパスを指定する必要があります。

以下の例ではまず font 関数を呼び出しますが、font オブジェクトを SysFont オブジェクトで上書きします。 最初の関数は、現在の作業ディレクトリに rocks フォント ファイルがない限り機能しません。

# or Font File in Directory
font = pygame.font.Font("rocks.ttf", 30)

# System Font
font = pygame.font.SysFont("Garamond", 30)

Pygame でテキストを表示する

フォントをインポートしたら、それに対して render() メソッドを使用します。ここで、いくつかの興味深いものを提供できます。

  1. まず、書き込まれるテキストを渡します。
  2. 次に、テキストをアンチエイリアスするかどうかを指定します。
  3. 最後に、テキストの色を RGB 方式で設定します。 私たちが行ったことはすべて、メインループの前にあることに注意してください。
textsurface = font.render("Some Text", False, (200, 200, 200))

メイン ゲーム ループでは、画面オブジェクトで blit 関数を呼び出してから、目的の位置で作成した textsurface を渡すことができます。

# keep in mind this code is in the main loop.
screen.blit(textsurface, (100, 100))

完全なサンプルコード

# Imports
import sys
import pygame

# Configuration
pygame.init()
fps = 60
fpsClock = pygame.time.Clock()
width, height = 640, 480
screen = pygame.display.set_mode((width, height), pygame.RESIZABLE)

# or Font File in Directory
font = pygame.font.Font("rocks.ttf", 30)

# System Font
font = pygame.font.SysFont("Garamond", 30)

textsurface = font.render("Some Text", False, (200, 200, 200))

# Game loop.
while True:
    screen.fill((20, 20, 20))
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    screen.blit(textsurface, (100, 100))

    pygame.display.flip()
    fpsClock.tick(fps)
チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
著者: Maxim Maeder
Maxim Maeder avatar Maxim Maeder avatar

Hi, my name is Maxim Maeder, I am a young programming enthusiast looking to have fun coding and teaching you some things about programming.

GitHub