Rich Text
# Rich Text(富文本)
Text
、GUIStyle
和 TextMesh
类都具有 Rich Text
设置,此设置会指示 Unity
在文本中查找标记标签。Debug.Log
函数也可使用这些标记标签来增强代码中的错误报告。标签不会显示,但会指示要应用于文本的样式更改。
# 标记格式
We are <color=green>green</color> with envy
标签 | 描述 | 示例 | 注意 |
---|---|---|---|
b | 以粗体显示文本。 | We are not amused. | |
i | 以斜体显示文本。 | We are usually not amused. | |
size | 根据参数值设置文本的大小(以像素为单位)。 | We are <size=50>largely unaffected. | 尽管此标签可用于 Debug.Log,但如果大小设置得太大,您会发现窗口栏和控制台中的行间距看起来很奇怪。 |
color | 根据参数值设置文本的颜色。可使用传统的 HTML 格式指定颜色。#rrggbbaa …其中的字母对应于十六进制数字对,表示颜色的红、绿、蓝和 Alpha(透明度)值。 | We are <color=#ff0000ff>colorfully amused | 另一种选择是使用颜色的名称。这种方法更容易理解,但当然,颜色范围受限,并始终假设颜色完全不透明。<color=cyan>some text 下表中列出了可用的颜色名称。 |
material | 这仅对文本网格有用,使用参数指定的材质渲染文本部分。值为 Inspector 显示的文本网格材质数组的索引。 | We are <material=2>texturally amused | |
quad | 这仅对文本网格有用,渲染与文本内联的图像。采用指定图像材质的参数、图像高度参数(以像素为单位)以及另外四个表示待显示图像的矩形区域的参数。与其他标签不同,quad 不会包裹一段文本,因此没有结束标签;斜杠字符放在初始标签的末尾,表示“自动关闭”。 | <quad material=1 size=20 > | 这将选择渲染器材质数组中位置的材质,并将图像的高度设置为 20 像素。图像的矩形区域由 x、y、宽度和高度值决定,这些值全部表示为纹理的未缩放宽度和高度的一定比例。 |
# 支持的颜色
名称 | 十六进制值 |
---|---|
aqua(等同于 cyan) | #00ffffff |
black | #000000ff |
blue | #0000ffff |
brown | #a52a2aff |
cyan(等同于 aqua) | #00ffffff |
darkblue | #0000a0ff |
fuchsia(等同于 magenta) | #ff00ffff |
green | #008000ff |
grey | #808080ff |
lightblue | #add8e6ff |
lime | #00ff00ff |
magenta(等同于 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
系统中已禁用富文本,但可以使用自定义 GUIStyle
显式启用富文本。应将 richText
属性设置为 true
,并将样式传递给相关的 GUI
函数:
GUIStyle style = new GUIStyle ();
style.richText = true;
GUILayout.Label("<size=30>Some <color=yellow>RICH</color> text</size>",style);
1
2
3
2
3