はじめに
var text = GetComponent<Text>(); int score = 25; float time = 0.5f: text.text = score.ToString(); text.text = time .ToString();
スコアやタイムなどの数値を Text で表示する場合、
ToString 関数を呼び出して text に設定する必要があり
コーディングが少し大変だったので拡張メソッドを作成しました
ソースコード
using System.Text; using UnityEngine.UI; /// <summary> /// Text 型の拡張メソッドを管理するクラス /// </summary> public static class TextExt { /// <summary> /// テキストを設定します /// </summary> public static void SetText( this Text self, string text ) { self.text = text; } public static void SetText( this Text self, int value ) { self.SetText( value .ToString() ); } public static void SetText( this Text self, ushort value ) { self.SetText( value .ToString() ); } public static void SetText( this Text self, uint value ) { self.SetText( value .ToString() ); } public static void SetText( this Text self, ulong value ) { self.SetText( value .ToString() ); } public static void SetText( this Text self, long value ) { self.SetText( value .ToString() ); } public static void SetText( this Text self, byte value ) { self.SetText( value .ToString() ); } public static void SetText( this Text self, StringBuilder sb ) { self.SetText( sb .ToString() ); } }
使い方
var text = GetComponent<Text>(); int score = 25; float time = 0.5f: text.SetText( score ); text.SetText( time );