Unity3D学习笔记(7):uGUI Rich Text简述

发表于2017-02-27
评论1 6.9k浏览

Rich Text很多人都知道是富文本,那么在Unity3DuGUI RichText是什么呢?下面就给大家详细介绍下uGUI Rich Text,如果对uGUI Rich Text有不明白的可以看一看。

7Rich Text

       UI元素以及Text Mesh的文本支持各种字体样式和字号。UI系统和传统GUI系统都支持Rich Text(富文本)。TextGUIStyleGUIText以及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 green with envy

         那么显示为:

         We are green withenvy

         注意标签结束时无需再包含参数值。同时作为可选项,参数可用引号括起来,也可以不括起来。

 

7.2 Supported tags

         以下列举Unity支持的标签:

 

7.2.1 Tags

b

加粗,示例:

1
We are not amused.

i

斜体,示例:

1
We are usually not amused.


size

字号(Debug.Log慎用),示例:

1
We are largely unaffected.


color

颜色(可用颜色名或颜色值),示例:

1
This is My 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 MeshMaterial参数值是Inspector面板Material数组的下标。比如:

1
We are texturally amused

 

7.2.4 Quad

         Quad参数仅适用于文本中带有ImageText Mesh。它定义了这个Image使用的参数,包括MaterialSizeWidthHeightx偏移、y偏移。不像其他标签,Quad标签并不是作用于一段文本,所以没有结束标记,它是自身封闭结束的。

1
"1" size="20" x="0.1" y="0.1" width="0.5" height="0.5">

         这个例子中,material=1表明了Material数组的下标,size=20表明Image高度是20 pixels,而xywidthheight表明了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("Some RICH text",style);

点击访问官方英文文档 

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引