官方文档:Rich Text
一、什么是Rich Text
Rich Text可以让文本包含多种字体风格和字体大小。除了在UI中使用,还可以在Debug.Log函数中使用来帮助查错。

(Text)

(Debug.log)
二、如何使用
通过类似HTML的标记语言,把指定的文本放置在标签内来设置想要的格式。
1.简单语法
(1)标签格式: <标签名>文本内容
(2)<标签名>称为开标签,称为闭标签。开标签和闭标签必须成对出现,否则无效。
例如(b标签表示加粗):
We are <b>not</b> amused. 会被显示为 We are not amused
2.标签可以嵌套使用
例子1(i表示斜体):
We are <b><i>definitely not</i></b> amused
显示为
We are definitely not amused
例子2:
We are <b>absolutely <i>definitely</i> not</b> amused
显示为
We are absolutely definitely not amused
3.有一些标签需要加入参数
如颜色标签,我们需要指定显示什么颜色:
We are <color=green>green with envy
显示为
We are green with envy
注意:
(1).参数可以用引号括起来,但不是必须的
(2).标签不能有空格,如上面的color标签写成是错误的
(3).闭标签不需要写参数值
三、标签
标签
|
描述
|
例子
|
备注
|
b
|
粗体
|
We are <b>not</b> amused
|
|
i
|
斜体
|
We are <i>usually</i> not amused
|
|
size
|
字体大小,
参数以像素为单位
|
We are <size=50>largely</size> unaffected.
|
尽管这个标签在Debug.Log函数中有效,但是如果指设得太大,就会显示得很奇怪。
|
color
|
根据参数值,给文本设置颜色。颜色值可以以传统HTML格式来指定(#rrggbbaa,用四对十六进制数分别表示红,绿,蓝和透明度)。如不透明蓝绿色可以写为#00ffffff。大小写无所谓(#00FFFFFF)。
|
We are <color=#ff0000ff>colorfully</color> amused
|
还可以用颜色名字来作为颜色值。如:
<color=cyan>some text</color>
但是,它有两点限制:一是颜色有限,不能随意选择。二是只能为不透明(不能设置透明度)。颜色名表在下面。
|
material
|
这个标签只对text mesh(3D GameObjcet->3D Text)有效,通过参数指定一个材质来渲染文本。参数值是在在Inspector面板中显示的text mesh的材质数组的索引。
|
We are <material=2>texturally</material> amused
|
|
quad
|
这个标签只对text mesh(3D GameObjcet->3D Text)有效,用来渲染一张插在文本中的图片。参数有:指定用于渲染图片的材质的参数,以像素为单位的图片高度参数,四个表示矩形显示区域的参数。和其他标签不同,它没有闭标签,取而代之的是在开标签末尾加一个斜杠/。
|
<quad material=1 size=20 x=0.1 y=0.1 width=0.5 height=0.5>
|
这个列子选择了renderer的材质数组中的材质,设置图片的高为20像素,显示图片的矩形区域由x,y,width,height指定。
|
四、颜色名称表
Color name | Hex value | Swatch |
aqua (same as cyan) |
#00ffffff |
 |
black |
#000000ff |
 |
blue |
#0000ffff |
 |
brown |
#a52a2aff |
 |
cyan (same as aqua) |
#00ffffff |
 |
darkblue |
#0000a0ff |
 |
fuchsia (same as magenta) |
#ff00ffff |
 |
green |
#008000ff |
 |
grey |
#808080ff |
 |
lightblue |
#add8e6ff |
 |
lime |
#00ff00ff |
 |
magenta (same as fuchsia) |
#ff00ffff |
 |
maroon |
#800000ff |
 |
navy |
#000080ff |
 |
olive |
#808000ff |
 |
orange |
#ffa500ff |
 |
purple |
#800080ff |
 |
red |
#ff0000ff |
 |
silver |
#c0c0c0ff |
 |
teal |
#008080ff |
 |
white |
#ffffffff |
 |
yellow |
#ffff00ff |

|
五、Editor GUI
Editor GUI 系统默认是不能使用Rich Text的,但是可以通过GUIStyle类的对象来开启。把richText属性设置为true,然后把这个对象传入GUI的函数:
- GUIStyle style = new GUIStyle ();
- style.richText = true;
- GUILayout.Label("<size=30>Some <color=yellow>RICH</color> text</size>",style);