【Unity3D】【NGUI】UILabel

时间:2022-11-25 05:31:21

原文:http://www.tasharen.com/forum/index.php?topic=6706.0

NGUI讨论群:333417608

概述

UILabel是用来显示文本的脚本,继承自UIWidget。

【Unity3D】【NGUI】UILabel

所有的label都需要Font才可正常工作。这个字体可以使Dynamic的(引用Unity Font),也可以是Bitmap字体——嵌入到Atlas里面的字体。动态字体更稳固因为它不需要你预先创建符号,但是Bitmap字体可以和你atlas的其他东西渲染在同一个draw call上并且这些字体可以通过photoshop美化。

修改Pivot来改变label的对齐方式。Top-left、Left和Bottom-left是左对齐。Top、Center或者Bottom是中间对齐。Top-right、Right、Bottom-right是右对齐。

使用Dynamic字体的时候,你可以设置label的Font Sizestyle。你也可以设置一个material用来渲染。

接下来的大框——你可能猜到了——用来输入文本。默认是多行文本输入,除非通过下面的Max Lines属性限制。

Overflow操作让你决定lable的文本超过允许的空间之后的处理方法。

【Unity3D】【NGUI】UILabel

  • Shrink Content 内容自动缩放。与Keep Crisp设置一起来控制Dynamic字体,使字体的字号变小而不是简单的缩放。这样不管label是否被缩放都能保持清晰。
  • Clamp Content 剔除多余的文本。
  • Resize Freely 根据输入的文本内容自动调整dimension。不需要手动调整。
  • Resize Height 保持宽度不变,必要时增加高度。

Spacing属性控制字符间距。正负皆可。像素为单位。

前面提到的Max Lines用来控制最多要多少行。用0表示不限制。

关掉Encoding表示不需要颜色和表情标签。默认启用。

可以给label提供渐变通过Gradient的bottom和top颜色。

文本可以有shadow或者outline Effect。shadow会使用两倍的geometry,outline会使用五倍——所以要小心这个属性。Distance参数控制shadow或者outline与原文本的距离,以像素为单位。

运行时修改文本,你可以通过以下方法:

UILabel lbl = GetComponent<UILabel>();
lbl.text = "Hello world!";

小贴士

给label一个深色的前景和明亮的Shadow效果,可以让label看起来有斜角外观

【Unity3D】【NGUI】UILabel

类文档

http://tasharen.com/ngui/docs/class_u_i_label.html