This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
Defold は、GUI シーン(GUI scene)にテキストを描画できる専用の GUI ノード(GUI node)をサポートしています。プロジェクトに追加した任意のフォントリソースを、テキストノード(text node)の描画に使用できます。
エディターのプレビューは、エンジンのフォントレンダラーを使って、テキストの字形形成と右から左へのレイアウトをサポートします。必要なフォントと App Manifest の設定については、テキストレイアウトのサポートを参照してください。
GUI テキストノードで使用するフォントは、GUI コンポーネント(GUI component)に追加する必要があります。Fonts フォルダーを右クリックするか、上部の GUI メニューを使用するか、対応するキーボードショートカットを押します。

テキストノードには、次の専用プロパティがあります。
ベクターフォントの設定に従い、GUI シーンの Fonts に .font リソースを追加して、テキストノードで選択します。フォントリソースの Material を /builtins/fonts/font-vector.material に設定します。表示サイズは、ノードの Font Size で制御します。
カラー絵文字では、COLRv1 のフォールバックとバンドルの設定も完了してください。ID が text のテキストノードを作成し、Text を空にしたまま、GUI シーンの .gui_script に以下を追加します。
function init(self)
local node = gui.get_node("text")
local text = "Hello 😀 🍎 🚀"
local font_resource = gui.get_font_resource(gui.get_font(node))
-- Add the fallback once for this shared font resource.
font.add_font(font_resource, "/fonts/NotoColorEmoji-Regular.ttf")
font.prewarm_text(font_resource, text, function(self, request_id, result, err)
if result then
gui.set_text(node, text)
else
print("Could not prepare GUI text:", err)
end
end)
end
gui.get_font() は GUI シーン内のフォント名を返し、gui.get_font_resource() は、その名前を font.add_font() で使うフォントリソースに解決します。そのリソースを共有するほかのノードや Label にもフォールバックが追加されるため、初期化は1回だけ行います。テキストは、事前準備が成功してから設定します。
ノードのピボットを設定すると、テキストの揃え方を変更できます。
Center、North、South のいずれかに設定すると、テキストは中央揃えになります。West のいずれかのモードに設定すると、テキストは左揃えになります。East のいずれかのモードに設定すると、テキストは右揃えになります。
テキストノードには、サイズ、ピボット、色などを設定する汎用のノード操作関数をすべて使用できます。テキストノード専用の関数もいくつかあります。
gui.set_font() 関数を使用します。gui.set_line_break() 関数を使用します。gui.set_text() 関数を使用します。function on_message(self, message_id, message, sender)
if message_id == hash("set_score") then
local s = gui.get_node("score")
gui.set_text(s, message.score)
end
end