デジタルコンテンツの制作

nekosuko.jp

Unity(C#) 学習

【Unity】カラーコードとColor型を変換する【C#】

投稿日:

テキストの文字色を一部分だけ変える

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"が代入される

-Unity(C#), 学習

Copyright© nekosuko.jp , 2020 All Rights Reserved.