富文本Rich Text:
这种文本用于GUI元素和文本网格可以结合多种字体类型和大小。 GUIStyle, GUIText 和 TextMesh类都有富文本设置,能指示unity寻找文本内含有的标记标签。Dubug.Log也可以用这些标记标签来增强代码报告错误的能力。这些标签不显示,而是显示应用到文本的风格变化。
1.Unity的(不受NGUI的UILabel支持):
标记格式:... <元素> ... </元素> ...(影响元素开头与结尾所夹的部分)
可以嵌套: ...<元素1>...<元素2>...</元素1>...</元素2>...
有些可以有参数: <color=green>hiahia</color>
支持的标签:(粗体斜体大小颜色项支持Debug.Log)
b 粗体 :<b>text</b>
i 斜体 :<i>text</i>
size大小 :<size=10>text</size> 这个标签是Debug.Log看得到的
color颜色:<color=#00ffffff>text</color> 字母对应于16进制数字,表示红绿蓝和透明度
<color=red>text</color> 使用颜色名称,总是假定完成不透明
更多颜色:http://www.ceeger.com/Manual/StyledText.html
材质:We are <material=2>texturally</material> amused 这仅用于文本网格并渲染具有材料参数所指定的一段文字。该值是文本网格显示在检视面板材质数组的索引。
注:Unity的Text组件的RichText项控制是否开启富文本,勾上为开启。
上述富文本方式不被NGUI的UILabel支持,下面看NGUI中如何使用富文本。
2.NGUI单独的:(UILabel)
支持的标签:(可在NGUI插件里的脚本NGUIText.cs中查看)
[b]粗体[/b]
[i]斜体[/i]
[u]下划线[/u]
[s]删除线[/s]
[颜色6位字码]颜色[-]
[c]忽略颜色[/c]
[c][993e3a]你好阿[-][/c] //这样包围的字就只会是这里的颜色,不会和文本框颜色合并。
正常文本[sup]上标[/sup]
正常文本[sub]下标[/sub]
[url=http://www.baidu.com]URL点击[/url]
//NGUI的超链功能,可用于判断用户是否点击了指定的一段文字
/*
void OnClick ()
{
UILabel lbl = GetComponent<UILabel>();
if (lbl != null)
{
string url = lbl.GetUrlAtPosition(UICamera.lastWorldPosition);
//这里url返回的就是点到的url富文本包起来的文本内容,如上返回的是"http://www.baidu.com",没有则返回空。
if (!string.IsNullOrEmpty(url)) Application.OpenURL(url);
}
}
*/
注:UILabel组件的BBCode项控制是否开启富文本,勾上为开启。