unity入门:同一文本不同颜色显示
- 同一文本不同颜色显示
- #RRGGBBAA(带透明度)用法
同一文本不同颜色显示
在Unity中,如果想让文本中的某一部分显示不同的颜色,可以使用富文本(Rich Text)标记,在字符串中插入HTML风格的标签来实现。
例如有一个叫ShuoMing的text默认颜色白色,要让攻击显示白色,Attack值显示时为其他颜色。代码如下:
ShuoMing.text = "攻击" + "<color=#FFDC1C>" + Attack + "</color>";
显示出来的效果如下图
如果想使用预设颜色名称而不是十六进制代码,代码如下:
ShuoMing.text = "攻击" + "<color=red>" + Attack + "</color>";
显示出来的效果如下图
Unity支持的预设颜色名称包括:
水绿色aqua、黑色black、蓝色blue、棕色brown、青色cyan、深蓝色darkblue、紫红色fuchsia、绿色green、灰色grey、浅蓝色lightblue、石灰色lime、品红色magenta、栗色maroon、海军蓝navy、橄榄色olive、橙色orange、紫色purple、红色red、银色silver、青色teal、白色white、黄色yellow等。
如果想要更精确地控制颜色,建议使用十六进制颜色代码,格式为#RRGGBB或#RRGGBBAA(带透明度)。
#RRGGBBAA(带透明度)用法
在 Unity 的富文本(Rich Text)中,#RRGGBBAA 是一种十六进制颜色格式,其中:
RR = 红色(00-FF)
GG = 绿色(00-FF)
BB = 蓝色(00-FF)
AA = 透明度(Alpha,00=完全透明,FF=完全不透明)
例如#FF000080 表示:
FF0000 = 红色(RGB)
80 = 50% 透明度(128/255 ≈ 50%)
注意事项
1.颜色代码不是复制过去的最好是小写(#ff0000 可以,但 #FF0000 在某些旧版本可能不兼容)。
2.Alpha 值是可选的,如果不写 AA,默认不透明(如 #FF0000 = #FF0000FF)。
3.支持预设颜色名(如 red、green),但无法调整透明度。