1、定义:是“图像面片组”,从材质Material里读取信息;
所以它比一般UISprite更耗cpu、drawCall;
在2D界面开发过程中,40%组件是UILabel,要熟练研究它;
2、调用层次:UILabel组件会关联一个带UIFont的Prefab;
UIFont会关联一个图集Prefab或TTF文件;
图集Prefab或TTF文件,会关联到一个材质Material;
材质Material会关联一个Shader脚本和Texture纹理;
3、继承于UIWidget
NGUI中所有UI components都继承于UIWidget,包括UILabel;
通过UIWidget可设置alpha,锚点pivot,深度Depth、长宽;
4、修饰符:
颜色[00ff00][-],URL [url=http://www.baidu.com][/url],粗体[b][/b],,斜体[i][/i],
下划线[u][/u], 删除[s][/s],副标题效果[sub][/sub]
5、点击URL网页跳转:
(1)给UILabel输入URL链接内容
(2)给UILabel所在GO添加BoxCollider
(3)事件监听
UILabel t = GetComponent
UIEventListener.Get(t.gameObject).onClick = new UIEventListener.VoidDelegate((go) =>
{
string url = t.GetUrlAtPosition(UICamera.lastHit.point);
if (!string.IsNullOrEmpty(url)) Application.OpenURL(url);
});
-----------------------[UIFont相关]-------------------------------
1、字体Prefab:即带有UIFont组件的Prefab
UILabel有两种类型:Unity和NGUI,当选择NGUI时就必须绑定字体Prefab
2、UIFont三种类型:
Bitmap关联图集,最终关联Material
Dynamaic关联TTF文件,而TTF文件本身就是个材质Material
Reference关联另外一个字体Prefab,间接关联图集或TTF文件
3、字体Prefab的制作方式
方式一:手动创建Prefab资源,添加UIFont组件,为它添加TTF文件或图集Prefab,再设置各种属性
方式二:通过NGUI-Font Maker,有三种类型
1)Dynamic:关联TTF文件;纯粹字体
2)Imported Bitmap:关联位图,同时生成字体Prefab和其所关联的图集Prefab;纯粹图片
3)Generated Bitmap:关联TTF文件和已有图集,生成字体Prefab
和图集纹理里的字体图片;图文混排
推荐使用Generated Bitmap
UILabel的字体属性必须用NGUI,不能用Unity
4、Generated Bitmap制作流程
1)指定TTF文件
2)节选文字:选择Characters/Custom,填写要使用的文字;
注意考虑清楚,只有选定的文字才会被添加,而且当字体Prefab完成后就不能再修改;
3)指定图集Atlas:它是字体Prefab“图”的来源,而且“节选的文”也会弄成一张图片放进该图集的纹理中;
4)点击“Create the Font”,生成带有UIFont组件的字体Prefab和图集纹理里的字体图片;
5)指定“图”的读取方式:等字体Prefab生成后,选定它,
在UIFont的"Symbols and Emoticons"中添加条目,实现“字符-图集图片”一一绑定
附加说明:产物:图集纹理里的字体图片,带有UIFont组件的Prefab;
“文”不是TTF文件,而是保存在图集里的字体图片;
缺点:“图”局限于图集,但可以动态增删;
“文”在制定字体Prefab时已指定,不能增删字体;若要增删字体就只能重做字体Prefab
5、Imported Bitmap制作流程
(1)使用Bitmap Font Generator制作位图:
首先Options->Export options定义格式,通常Bit Depth为32位;
然后Edit->Open ImageManager,定义“数字对应ascii字符 - 图片资源”;
接着Options->Visualize 来预览结果;
最后Options->Save Bitmap font as,保存字体(生成.fnt和.tga两个文件,
前面那个是数据,后面是图集);
(2)用NGUI-Font Maker制作:
Type里选择“Imported Bitmap”;
然后把.fnt拖到FontData处,.tga拖到Texture处,把OutPut的图集置空
最后点击“Create the font”,生成字体prefab和图集Prefab
6、Dynamic制作流程
1)制作TTF文件(从C:\Windows\Fonts拷贝文件到工程目录中)
2)指定TTF文件
3)点击“Create the Font”,生成字体Prefab
4)缺点:TTF文件很大,要3M左右,所以一般使用“Generated Bitmap”途径制作艺术字体