NarraLeaf

テキスト

nl.text ウィジェットの Self ノード——内容、タイポグラフィ、色、静的エフェクトの読み書きです

Text 分類は nl.text ウィジェットの Self ノード集合です。表示する文字列、表示に使う書体と字形の各種数値、そしてその上に重ねる静的エフェクトを扱います。これらのノードは nl.text 要素自身のブループリント(widgetMain または componentWidgetMain)のパレットにのみ現れ、いずれもその要素に対して作用します。nl.text を基にした 2 つのウィジェット、nl.dialog.sentence と nl.nvl.texts でも同じノードが提供されます。別のテキスト要素にアクセスするには、Element 分類にある同名の blueprint.element.text.* ノードを使用してください——プロパティは同一で、対象を指定するための element:nl.text 入力が追加されているだけです。

規約

  • ターゲットピンはありません。 Self ノードには Element 入力がなく、ブループリントの実行元からターゲットを解決します。接続するものがない以上、誤った要素を指定してしまうこともありません。
  • 読み取りは Pure、書き込みは Latent です。 各 getter は副作用がありません。各 setter はホストがパッチを適用する間グラフを一時停止させます。
  • Blueprint Value では使用できません。 Blueprint Value の宿主は widgetValue であり、これらのノードのスコープは widgetMain と componentWidgetMain であるため、getter が pure であっても、そのパレットには現れません。Blueprint Value からテキストのプロパティを読み取るには、Element を対象とした getter を Element のリテラルとともに使用してください。
  • 書き込みにはゲームの実行が必要です。 ホスト API はブループリントの実行時の下でのみ存在します。エディターのキャンバス上では、setter は This node runs only in a running game. Open Dev Mode to run it.(このノードはゲームの実行中にしか使えない。開発モードで実行する)で失敗し、getter は何も生成しません。
  • 書き込んだ文字が優先されます。 Set Text、Append Text、Clear Text、そして Set All Properties の text ピンがゲームの実行中に書き込んだ文字は、ページを開き直すまで、すべての言語で書き込んだとおりに表示され、翻訳キー、要素自身の文字の翻訳、Blueprint Value より優先されます。スクリプトレイヤーによる書き込みも同じです。最初の書き込みまでは、要素自身の文字がその既定値です。インターフェースのテキスト を参照してください。
  • 何も変わらない書き込みは何もしません。 各 setter はパッチを正規化したうえで要素の現在のプロパティと比較し、一致する場合は早期に処理を終えます——その要素の再描画も On Flush も発生しません。ただし初めて書き込む文字は例外で、画面上の文字と同じでも変更として扱われます。それ以降、その文字はすべての言語で書き込んだとおりに表示されるためです。getter も flush をキューに入れることはないため、グラフは自分自身をループに追い込むことなくプロパティをポーリングできます。
  • 未接続または認識されない入力は「そのままにする」ことを意味しません。 エッジがない、カード上に何も入力されていない、あるいは許可された集合の外の値である場合、ほとんどの setter は現在の値を保持するのではなく、固定のフォールバック値を書き込みます。Set Text は空文字列を、Set Font はフォントをクリアし、Set Font Size は 16 を、Set Line Height は 1.4 を書き込み、各列挙型 setter はそのリストの先頭の値を書き込みます。何も拒否されず、何もスローされません。現在の値にフォールバックするのは、Set Text Color、Set Effects、そして Set All Properties のすべてのピンだけです。
  • 一部のノードは同じ種類のノードとしてまとめられます。 パレットを一覧するとき、Get Font から Get Effects までの 9 つのスタイル取得ノードは Get Text Style(文字のスタイルを取得)、対応する設定ノードは Set Text Style(文字のスタイルを設定)、Get Visible と Get Enabled は Get Visible or Enabled(表示・有効状態を取得)、Set Visible と Set Enabled は Set Visible or Enabled(表示・有効状態を設定)として、それぞれ 1 行で表示されます。検索すると各ノードが自分の名前で表示されます。配置したカードは、タイトルの横の ▾ で同じ種類の別のノードに切り替えられます。同じ種類のノードを参照してください。

Get Text

blueprint.text.getText · Pure

画面に表示されている文字を読み取ります。ゲームの実行中に書き込まれた文字、そうでなければ要素の翻訳キーの文字か要素自身の文字のプレイヤーの現在の言語でのテキスト、あるいは Blueprint Value やリストの行の項目が与える文字です。

ピン方向型備考
textout · datastring

Set Text

blueprint.text.setText · Latent

文字列全体を置き換えます。

ピン方向型備考
inin · exec—
nextout · exec—
textin · datastring何にも解決できない場合は空文字列を書き込みます。カード上での直接入力に対応します。

Set Text が書き込んだ文字は、ソースが Translation key(翻訳キー)や Blueprint Value のテキストでも、ページを開き直すまですべての言語で書き込んだとおりに表示されます。翻訳した文字を表示するには、Get Text の結果を書き込み、プレイヤーが言語を切り替えたあとにもう一度書き込むか、Blueprint Value で表示してください。

Append Text

blueprint.text.appendText · Latent

画面に表示されている文字を読み取り、末尾に text を付けて書き戻します。

ピン方向型備考
inin · exec—
nextout · exec—
textin · datastring区切り記号を挟まず、そのまま追加されます。カード上での直接入力に対応します。

Clear Text

blueprint.text.clearText · Latent

空文字列を書き込みます。何も接続していない Set Text と同じですが、カード上でその意図を明示します。

ピン方向型備考
inin · exec—
nextout · exec—

Get Font

blueprint.text.getFont · Pure

要素が使用しているプロジェクトのフォントアセットの id を読み取ります。

ピン方向型備考
fontAssetIdout · datastringフォントアセットが未設定で、要素がキャンバスの既定書体を継承している場合は空文字列です。

Set Font

blueprint.text.setFont · Latent

要素をプロジェクトのフォントアセットに向けます。

ピン方向型備考
inin · exec—
nextout · exec—
fontAssetIdin · datastring空欄または解決できない値はフォントをクリアし、要素をキャンバスの既定書体に戻します。カード上での直接入力に対応します。

Get Font Size

blueprint.text.getFontSize · Pure

ピン方向型備考
fontSizeout · datafloatSurface のデザインピクセルです。

Set Font Size

blueprint.text.setFontSize · Latent

ピン方向型備考
inin · exec—
nextout · exec—
fontSizein · datafloat下限は 1 にクランプされます。インスペクターの 8–256 の範囲はブループリントによる書き込みには適用されません。フォールバック値は 16 です。カード上での直接入力に対応します。

Get Font Weight

blueprint.text.getFontWeight · Pure

ピン方向型備考
fontWeightout · datastringnormal、600、bold のいずれかです。

Set Font Weight

blueprint.text.setFontWeight · Latent

字重は数値の CSS font-weight ではなく、3値の列挙型です。ここでの 700 は bold の同義語ではありません——許可された集合の外にあるため、normal にフォールバックします。

ピン方向型備考
inin · exec—
nextout · exec—
fontWeightin · datastringnormal、600、または bold です——"600" は文字列であり、数値ではありません。それ以外の値はすべて normal にフォールバックします。カード上での直接入力に対応します。

Get Text Color

blueprint.text.getTextColor · Pure

ピン方向型備考
colorout · dataRGBAColor

Set Text Color

blueprint.text.setTextColor · Latent

要素は色を CSS の色文字列として保持しており、これらのピンは双方向に変換します。そのためピンの型は string ではなく RGBAColor です。

ピン方向型備考
inin · exec—
nextout · exec—
colorin · dataRGBAColorカード上での直接入力はできません——Data の色の定数、または別のノードの RGBAColor 出力を接続してください。フォールバックは現在の色です。

Get Text Align

blueprint.text.getTextAlign · Pure

ピン方向型備考
textAlignout · datastringleft、center、right のいずれかです。

Set Text Align

blueprint.text.setTextAlign · Latent

要素のボックス内でテキスト行を水平方向に揃えます。ボックス自体の移動やサイズ変更は行いません。

ピン方向型備考
inin · exec—
nextout · exec—
textAlignin · datastringleft、center、または right です。それ以外の値はすべて left にフォールバックします。カード上での直接入力に対応します。

Get Text Vertical Align

blueprint.text.getTextVerticalAlign · Pure

ピン方向型備考
textVerticalAlignout · datastringstart、center、end のいずれかです。

Set Text Vertical Align

blueprint.text.setTextVerticalAlign · Latent

要素のボックス内でのテキスト行の配置を決めます。ボックス内でテキストを動かすものであり、ボックス自体のサイズは変更しません。

ピン方向型備考
inin · exec—
nextout · exec—
textVerticalAlignin · datastringstart、center、または end です。それ以外の値はすべて start にフォールバックします。カード上での直接入力に対応します。

Get Line Height

blueprint.text.getLineHeight · Pure

ピン方向型備考
lineHeightout · datafloatピクセル距離ではなく、フォントサイズに対する単位のない倍率です。

Set Line Height

blueprint.text.setLineHeight · Latent

ピン方向型備考
inin · exec—
nextout · exec—
lineHeightin · datafloat倍率で、下限は 0.1 にクランプされます。フォールバック値は 1.4 です。カード上での直接入力に対応します。

Get Wrap Mode

blueprint.text.getWrapMode · Pure

ピン方向型備考
textWrapModeout · datastringword、character、nowrap のいずれかです。

Set Wrap Mode

blueprint.text.setWrapMode · Latent

ピン方向型備考
inin · exec—
nextout · exec—
textWrapModein · datastringword は単語の間で改行し、character は単語の内部でも改行し、nowrap は決して改行しません。それ以外の値はすべて word にフォールバックします。カード上での直接入力に対応します。

Get Effects

blueprint.text.getEffects · Pure

要素の静的エフェクトブロックを、常にすべてのフィールドが揃った1つの JSON オブジェクトとして読み取ります。

{
    "effectBlur": 0,
    "effectBackgroundBlur": 0,
    "effectShadow": null,
    "effectTextShadow": null,
    "effectInnerShadow": null,
    "effectBlend": "",
    "effectGlow": null,
    "effectFilter": null
}

テキスト要素が反映するのは effectBlur、effectTextShadow、effectBlend、effectFilter だけです——影は CSS の text-shadow で描かれ、box-shadow 系のフィールドは chrome 系ウィジェットに属します。そのため、テキスト要素上では effectShadow、effectInnerShadow、effectGlow は常に null として読み戻されます。

ピン方向型備考
effectsout · datajson

Set Effects

blueprint.text.setEffects · Latent

エフェクトブロック全体を置き換えます——これはマージではないため、1つのフィールドだけを変えたい場合は、先に Get Effects で読み取ってからそのオブジェクトを編集してください。

box-shadow 系のフィールドへの書き込みが静かに失われるわけではありません。次に読み取ったとき、テキストシャドウが未設定であれば effectShadow(それもなければ effectGlow)が effectTextShadow に昇格し、box-shadow 系のフィールド自体は null として返ります。影自体は表示されますが、書き込んだキーの下ではありません。

ピン方向型備考
inin · exec—
nextout · exec—
effectsin · datajson欠けているフィールドや形式が不正なフィールドは、現在のエフェクトではなく上記の既定値で埋められます。何にも解決できない場合のみ、全体が現在のエフェクトにフォールバックします。

Get All Properties

blueprint.text.getAllProperties · Pure

1枚のカードですべてのテキストプロパティを取得します。各出力は、対応する専用の getter が返すものとまったく同じ内容を運びます。

ピン方向型備考
textout · datastring
fontAssetIdout · datastringフォントアセットが未設定の場合は空文字列です。
fontSizeout · datafloat
fontWeightout · datastring
colorout · dataRGBAColor
textAlignout · datastring
textVerticalAlignout · datastring
lineHeightout · datafloat
textWrapModeout · datastring
effectsout · datajson

Set All Properties

blueprint.text.setAllProperties · Latent

1回のパッチですべてのテキストプロパティを書き込むため、要素は10回ではなく1回だけ再描画されます。まず現在のプロパティを読み取り、それをすべてのピンのフォールバックとして使うため、これは唯一「ピンを未接続のままにすると現在の値が保持される」setter です——単一プロパティの setter とはちょうど逆になります。text を未接続かつ空のままにすると文字は書き込まれないため、翻訳キーやバインドを使うテキストはプレイヤーの言語に追従し続けます。

ピン方向型備考
inin · exec—
nextout · exec—
textin · datastringカード上での直接入力に対応します。
fontAssetIdin · datastring明示的に null を渡した場合もフォントはクリアされます。カード上での直接入力に対応します。
fontSizein · datafloat下限は 1 にクランプされます。カード上での直接入力に対応します。
fontWeightin · datastringnormal、600、または bold です。カード上での直接入力に対応します。
colorin · dataRGBAColorカード上での直接入力はできません。
textAlignin · datastringleft、center、または right です。カード上での直接入力に対応します。
textVerticalAlignin · datastringstart、center、または end です。カード上での直接入力に対応します。
lineHeightin · datafloat倍率で、下限は 0.1 にクランプされます。カード上での直接入力に対応します。
textWrapModein · datastringword、character、または nowrap です。カード上での直接入力に対応します。
effectsin · datajsonカード上での直接入力はできません。

Get Visible

blueprint.text.getVisible · Pure

ピン方向型備考
visibleout · databoolean

Set Visible

blueprint.text.setVisible · Latent

要素の visible プロパティを設定します。これは Displayable 分類の Set Display とは別のスイッチです。display は要素とそのサブツリーをマウントしたまま CSS で隠す実行時の描画スイッチであり、visible はインスペクターが公開しているレイアウト上の可視性プロパティです。

ピン方向型備考
inin · exec—
nextout · exec—
visiblein · databooleanカード上での直接入力はできません——真偽値を接続してください。フォールバックは現在の値です。

Get Enabled

blueprint.text.getEnabled · Pure

ピン方向型備考
enabledout · databoolean

Set Enabled

blueprint.text.setEnabled · Latent

false は下層の操作無効化の仕組みに対応付けられます。生の interactionDisabled プロパティは作者には公開されていないため、このペアがそのインターフェースのすべてです。

ピン方向型備考
inin · exec—
nextout · exec—
enabledin · databooleanカード上での直接入力はできません——真偽値を接続してください。フォールバックは現在の値です。

このページの目次