Unity3D学习笔记(7):uGUI Rich Text简述
Rich Text很多人都知道是富文本,那么在Unity3D中uGUI RichText是什么呢?下面就给大家详细介绍下uGUI Rich Text,如果对uGUI Rich Text有不明白的可以看一看。
7、Rich Text
UI元素以及Text Mesh的文本支持各种字体样式和字号。UI系统和传统GUI系统都支持Rich Text(富文本)。Text、GUIStyle、GUIText以及Text Mash都有Rich Text设置项,表明包含标签的文本应该如何正确处理。Debug.Log函数同样可以使用这些标签来丰富错误报告。这些标签不可见,但会使文本样式发生变化。
7.1 Markup Format
MarkupSystem(标记系统)来源于HTML,但并非与HTML完全兼容。基本思路是,文本被封闭在一对匹配标签中,比如:
1 | We are not amused |
如上述例子所示,标签是由尖括号“<”和“>”构成。标签内的文本是标签名字(例子中是“b”)。注意标签结束是也有相同的尖括号与标签名字,但区别是多了一个“/”符号。标签并不可见,标签是用于标识所封闭文本的样式。如上述例子,加了标签后的文本如下所示(单词not加粗了):
We are not amused
一段被标记的文本(以及标签本身)被成为元素(Element)。
7.1.1 Nested Elements
可以通过嵌套的方式使一段文本同时应用多个样式。
1 | We are definitely not amused |
这里“i”是斜体。于是上述文本将会显示为:
We are definitely not amused
注意标签的结束顺序,先开始的后结束。这是因为内嵌的标签可能只是整段文本的一部分。
1 | We are absolutely definitely not amused |
那么显示为:
We are absolutely definitely not amused
7.1.2 Tag Parameters
某些标签只有两种情况(要么有效果要么无效果),而另外一些标签则允许设定参数。比如Color标签需要设置具体的颜色值。使用参数的方式如下:
1 | We are |
那么显示为:
We are green withenvy
注意标签结束时无需再包含参数值。同时作为可选项,参数可用引号括起来,也可以不括起来。
7.2 Supported tags
以下列举Unity支持的标签:
7.2.1 Tags
b | 加粗,示例:
| ||
i | 斜体,示例:
| ||
size | 字号(Debug.Log慎用),示例:
| ||
color | 颜色(可用颜色名或颜色值),示例:
|
7.2.2 Color Name
颜色名对应颜色值举例:
颜色名 | 16进制值 | 预览 |
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 |
7.2.3 Material
Material参数仅适用于Text Mesh。Material参数值是Inspector面板Material数组的下标。比如:
1 | We are |
7.2.4 Quad
Quad参数仅适用于文本中带有Image的Text Mesh。它定义了这个Image使用的参数,包括Material、Size、Width、Height、x偏移、y偏移。不像其他标签,Quad标签并不是作用于一段文本,所以没有结束标记,它是自身封闭结束的。
1 |
|
这个例子中,material=1表明了Material数组的下标,size=20表明Image高度是20 pixels,而x、y、width、height表明了Image的取值区域(百分数),Image宽度则是等比例缩放的。
7.3 Editor GUI
编辑器GUI系统默认禁用了Rich Text。若使用自定义GUIStyle则可以启用它。将richText属性设置为true,如下所示:
1 2 3 4 5 | GUIStyle style = new GUIStyle (); style.richText = true ; GUILayout.Label( " ,style); |