ラベル

ℹ️ 留意事項

この記事は Godot 3から Godot 4 へ内容の書き換え中です。 Godot4では存在しない変数、関数が含まれている場合があります。もしその場合はリポジトリのIssuesまでご報告ください。

課題

画面にテキストを表示したい。

解決策

スクリーンにテキストを表示する機会が増えるでしょう。例えば、タイトル表示やカウントダウンタイマー、スコアカウンターなどがその一例です。これらのほとんどは、Godotの Label ノードを使えば簡単に実装できます。

フォント操作について

はじめに、フォントファイルが必要になります。Godotのフォントサポートについては別のレシピで詳しく解説しますが、ここではTTFまたはOTF形式のフォントファイルを前提とします。ビットマップフォントを使用する場合は、関連するレシピを参照してください。

メモ

この例では、人気のある無料フォント「Roboto」を使用します。このフォントはGoogle Fontsで入手できます。こちらからもダウンロードできます。 Roboto_font.zip

ラベルの追加方法

シーンに新しい Labelノードを追加してください。インスペクターでは、ほとんどのプロパティが自明な内容になっています(マウスカーソルを合わせると説明が表示されます):

alt alt

「テキスト」フィールドに任意の文字を入力して、表示スタイルを試してみます。デフォルトフォントが設定されていますが、かなりシンプルな(しかも小さい)デザインになっています。

DynamicFontの追加方法

フォントを追加するには。インスペクターで「カスタムフォント」セクションまでスクロールダウンし、展開してください。空の「フォント」プロパティで『新規ダイナミックフォント』を選択し、新しく表示されたDynamicFontをクリックしてさらに展開します。

alt alt

フォントファイル(この例ではRoboto-Medium.ttfを使用しています)をフォントデータプロパティにドラッグするか、「読み込み」を選択して直接ファイルを指定します。調整すべきプロパティは複数ありますが、まずはサイズを少し大きくしてみます。

テキストの表示に与える影響を自由に調整してみてください。例えば、以下の画像では、2番目のラベルにフィルタープロパティが有効になっています。

alt alt

色の調整

ラベルのフォントカラーは「カスタムカラー」セクションで調整できます。ここでは「フォントカラー」を変更できるほか、影の色を追加することもできます。影のプロパティは「カスタム定数」セクションで設定します。

alt alt

動的に変化するテキスト表示

シーンに静的テキストのみが必要な場合、ここで完了です。ただし、ラベルを動的に更新する必要がある場合は、コード内でtextプロパティを使用して実装できます。

Timerノードがシーンに含まれている場合、以下のように操作できます。

extends Control

var counter = 0

func _ready():
    $Label.text = str(counter)

func _on_Timer_timeout():
    counter += 1
    $Label.text = str(counter)

ラベルの使用例やUIノードとの連携方法については、関連レシピセクションをご覧ください。

関連レシピ

この動画が気に入ったら?