テキストの文字色を一部分だけ変える
Unityのテキスト表示で一部分だけ色を変更するにはマークアップタグとカラーコードを使います。
string akamoji = "ここから<color=#ff0000>赤色</color>です。";
コンソールやUIに出力すると「ここから赤色です。」と表示されます。
カラーコードをColor型に変える
カラーコードをColor型に変換するには
ColorUtility.TryParseHtmlString(string htmlString, out Color color)
を使います。
カラーコード文字列htmlStringが正しければtrueを返して、変数colorに変換されたColor型が渡されます。
string htmlString = "#FF0000";// 赤色のカラーコード Color color; if (ColorUtility.TryParseHtmlString(htmlString, out color))// outキーワードで参照渡しにする { // Color型への変換成功(colorにColor型の赤色が代入される) } else { // Color型への変換失敗(colorはColor型の初期値のまま) }
Color型をカラーコードに変える
Color型の変数をカラーコードに変換するには
ColorUtility.ToHtmlStringRGB(Color color)
を使います。
α値も入れたいときは
ColorUtility.ToHtmlStringRGBA(Color color)
を使います。
Color color = Color.red; // 赤色 string htmlString = ColorUtility.ToHtmlStringRGB(color); // htmlStringに"#FF0000"が代入される