本日は Unity の小ネタ枠です。
UnityのInspectorで値の代入を含めたテキストのフォーマットを設定する方法を記事にします。
string.Format
値の代入を含めたテキストのフォーマットを作成するには string.Format を利用します。
string.Format は値を指定された形式に基づいて文字列に変換してフォーマットとして指定した文字列に挿入します。
learn.microsoft.com
例えば数値書式は以下の方法で指定可能です。
learn.microsoft.com
learn.microsoft.com
サンプルスクリプト
以下のサンプルスクリプトを作成しました。
Inspectorの入力で{0}を含めたフォーマットを指定すれば、値を代入した文字列が返ります。
数値書式の指定で少数第2位まで少数を表示するようにしています。
・StringFormatTest.cs
using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; public class StringFormatTest : MonoBehaviour { [SerializeField, Tooltip("テキスト出力先")] private TMP_Text p_TextField; [SerializeField, Tooltip("フォーマット")] private string p_Format = "height : {0:#.##}m"; // Start is called before the first frame update void Start() { float value = 12345.67890f; var message = string.Format(p_Format, value); p_TextField.text = message; } }
シーンを再生すると以下の通り、指定の書式で値が代入された文字列が表示されます。