UGUI学习笔记之Rich Text
官方文档: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);