NGUI之UILabel

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”途径制作艺术字体

你可能感兴趣的:(unity)