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 nameHex valueSwatch
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);

 

posted @ 2021-01-19 15:03  一白梦人  阅读(1527)  评论(0编辑  收藏  举报