C# 通过十六进制代码设置颜色

C# 通过十六进制代码设置颜色,c#,unity3d,C#,Unity3d,我正在使用RGBA值设置textmeshpro的文本颜色。我想用十六进制代码来设置它。我有一个十六进制颜色值数组。我如何将其统一起来 using UnityEngine.UI; public TMP_Text textMeshPro; public string[] colorListHex = { "#FF0000", "#754C24", "#5DA500"}; void Start(){ textMeshPro.colo

我正在使用RGBA值设置textmeshpro的文本颜色。我想用十六进制代码来设置它。我有一个十六进制颜色值数组。我如何将其统一起来

using UnityEngine.UI;

public TMP_Text textMeshPro;
public string[] colorListHex = { "#FF0000", "#754C24", "#5DA500"};

void Start(){
   textMeshPro.color = new Color32 (255, 0, 0, 255); //How do I set it to be colorListHex[0] instead of using rgba?
}
试试这个

Color colorFromHex;
ColorUtility.TryParseHtmlString(colorListHex[0], out colorFromHex);

这是否回答了您的问题@康纳斯托普嗨,对不起,但从Unity的角度来看,我认为它不起作用。检查
ColorUtility.ToHtmlStringRGB
返回表示颜色的字符串十六进制字符串。可以在一行中完成
ColorUtility.TryParseHtmlString(colorListHex[0],out var colorFromHex);)并且应该始终与
if
一起使用,以检查它是否能够真正解析