这篇文章我们主要来说一下如何将ngui插件导入unity中,接下来是详细的步骤。

第一步:

        打开Unity开始导入插件,首先在Project视图中右键选择Import Package->Custom Package->ngui_free.unitypackage(刚刚下载至本地的插件)导入完毕后,请刷新一下你的工程确保Unity导航菜单栏中出现NGUI的菜单项,Unity的版本不同可能导致NGUI导入时不存在菜单项,也可以退出Unity在重新进入即可。
 
第二步:

        在新创建的Unity工程中删除Hierarchy视图中原有的摄像机对象,在Unity导航栏菜单中选择NGUI->Create  a New UI。可以理解为创建摄像机,并且这个摄像机直直的照射在平面中,该平面就是我们的UI平面。点击Create a New UI   菜单项后弹出UI Tool工具栏。


Layer:下拉列表表示摄像机的显示层。


当你选择最后一项Add Layer时,灰色的表示系统默认的,可双击可用层的右边对层进行重命名。

  •  Camera:下拉列表设置摄像机的朝向是2D 还是3D。
  • 最后直接点击Create Your UI即可创建一个新的界面。 
  • 接着NGUI会自动帮我们在Hierarchy视图中生成如下的对象关系。
  • UI ROOT(2D):界面根节点、入口点。
  • Camera :NGUI生成的摄像机对象,它将直直的照射在锚点面板。
  • Anchor:界面的锚点,影响UI的显示位置。它下面会挂着面板。
  • Panel:面板,摄像机照射着它,它下面会挂一些控件,比如标签、按钮、精灵、拖动条等等。
 
第三步:

创建界面组件,在Unity导航菜单栏中选择NGUI-> Create a Widget创建小部件

  • Atlas:图像集合
  • Font:字体
  • Template:模板
  • P:X、Y、Z坐标//z越小越先绘制
  • R:X、Y、Z轴的旋转
  • S :X可理解为图片宽,Y理解为图片高


刚刚我们创建的模板为Simple Texture,NGUI会帮我们绑定UITexture脚本。


  • Material:添加的材质对象,为了让材质显示的更加清晰,我们设置材质的着色器为Unlit/Texture
  • Depth:表示深度,就好比UI绘制的先后顺序,数值越高越先绘制,它主要应用于Sprite精灵(后面详细说),
  • 在Simple Texture中设置无效,不过可以通过修改Z轴坐标的形式来更改绘制顺序。
  • Color Tint: 设置颜色,用于没有贴图的材质。
  • Correction:自动设置图片宽高,就好比本例中我的图片宽高是128X128,点击该按钮后会自动修改
  • Transform中S的X = 128与Y = 128。
  • Pivot:锚点位置。
  • Preview:是否在监测面板视图中预览下方我的贴图。
  • component ==>NGUI==>UI==>stretch添加一个缩放平铺屏幕的控件。


制作Atlas和Font:


一定要先选择需要制作UIAtlas的所有图片。如图所示,首先在Project视图中用鼠标选中所有的图片,接着在导航菜单栏中选择NGUI -> Atlas Maker 。

如果不先选择图片,直接点击Atlas Maker的话,那么你的UIAtlas中就不会有任何精灵了。

这里一定要切记!!!然后可以看到刚刚我选择的3张图片已变成精灵添加入UIAtlas中拉。

继续点击Create完成创建。

点击sprite下拉按钮 即可看到所有的精灵文件。如下图所示,新版的NGUI会帮我们把所有贴图和并在同一张图片上,宽高都是2次幂这样就很好的避免图片尺寸2次幂比例的问题。

如果你想在原有的Atlas上更新与删除精灵的话。还是先在Project选择需要添加的精灵图片,然后导航菜单栏中选择NGUI -> Atlas Maker如果删除的话,点击下图中对应精灵的“X”按钮,最后点击 ADD/UpdateALL。 如果只是更新的话就不要点击Replace,他会把你之前精灵全部替换掉。
《《《《《《《《《《《《《《《》》》》》》》》》》》》》》》
字体的制作方法: http://game.ceeger.com/forum/read.php?tid=619
直接将做好的字体NGUI -> Font Maker
Font Data:将 .fnt  改成.txt 后缀再拖入。
Texture :.fnt 直接将这个文件拖入。
============================================================
=======================
NGUI Button and Label使用
 
1、首先NGUI==》Creat a widget==》Template 下拉项选择Button,其它项选择好后
Add To。
2、其次component ==>NGUI==>UI==>interaction==》Button Message添加一个
button关联事件和控件的处理脚本。
3、然后GameObject==》Create Empty 。用它挂载处理方法实现的脚本。
 
 
在脚本中声明
public GameObject label_name_item1;
 
然后拖动一个label与这个属性关联
最后通过代码,修改其属性
 
label 的赋值
((UILabel)label_name_item1.transform.GetComponent(typeof(UILabel)))
.text = "dsfsdfs";
 
button的赋值
button_goldrain.transform.GetChild(0).gameObject.SetActiveRecursively
(false);