NGUI的介绍及特性
  1. 完全集成到Inspector面板中。
  2. 不需要点击Play按钮就能查看结果。
  3. 在场景视图中看到的就是在游戏视图中得到的(所见即所得)。
  4. 组件、模块化的特性:要让你的界面控件做什么,只需为其附加相应的行为,而不需要编码。
  5. 全面支持iOS/Android和Flash。
  6. 灵活的事件系统。
  7. 可以让复杂的UIs只占用一个draw call。
  8. 可以直接在编辑器中创建、更新/修改纹理地图集,或从Texture Packer程序导入纹理地图集。
  9. 支持光照贴图、法线贴图、折射等特性,让你尽情发挥创造力!
  10. 支持硬边或柔性的面板裁剪。
  11. 支持灵活尺寸的表格,能够自动对控件进行排列。
  12. 通过IME输入法支持东方语言(有Web版本的演示程序)
  13. 内建本地化系统。
  14. 内建的键盘和摇杆支持。
  15. 提供大量有用的辅助脚本,从改变按钮颜色到拖拽对象。
  16. 简单的内建补间动画系统。
  17. 简洁和高度优化的C#代码。
  18. 没有DLL,也不依赖于其他外部资源。
Ngui的基本用法
Ngui的基本用法
1.下载一个NGUI插件 打开unity,右键Import Package在弹出的对话框选择下载好的NGUI插件点击打开 加载插件加载完成后,按F5或者选择刷新面板, 然后在主菜单可以看见多了一个NGUI选择项删除项目默认的相机,然后选择NGUI创建一个新的UI......[查看更多]
Unity3d NGUI制作字体简易教程
Unity3d NGUI制作字体简易教程
今天研究了一下NGUI的字体制作,网上教程很多。我自己也实现了,不想把遗忘掉,所以便花点时间写了出来,方便以后自己的回顾,也可以为新手提供一些教程。好的,言归正传。 Step 1:新建一个工程,导入NGUI包,我用的是最新的NGUI2.6.3......[查看更多]
Unity3D插件NGUI的屏幕自适应
Unity3D插件NGUI的屏幕自适应
Unity3D插件NGUI可以比较方便的实现屏幕自适应,以下是比较方便的实现方法。   主要组件: 1. UIAnchor:用来确定控件在屏幕中的位置 2. UIStretch:用来做缩放的组件。老版本的NGUI是集成在UIAnchor上的。新版本的UIStretch提供了4种缩放方式......[查看更多]
界面插件NGUI的使用(一)
界面插件NGUI的使用(一)
步骤1-Scene 1.创建一个新的场景(New Scene)。 2.选择并删除场景里的MainCamera。 3.在NGUI菜单下选择Create a New UI,会打开UI创建向导。4.在创建向导中你能更改UI的基本参数。现在我们选Default layer,点击Create Your UI 按钮......[查看更多]
NGUI的button事件触发和进度条的使用
NGUI的button事件触发和进度条...
自己NGUI里面的camera里面如果没有audio listener和audio source的话你自己要添加!否则button音效播不了。控制ProgressBar的大小时,用sliderValue,因为inirialValue不行!1.在panel中添加一个Button和一个ProgressBar......[查看更多]
Ngui密码输入框
NGUI 密码输入框
NGUI 自带了类似于输入框,Input;1.Background,Sprite,背景;2.Lable,字体;UILable.cs; bool Password,true为密码输入类型,自动显示“*”。字体库必须得包含“*”;原理如上:UIInput.cs 下 bool isPassword,设置为true。即可实现功能需求;......[查看更多]
使用插件NGUI制作小地图
使用插件NGUI制作小地图
原本只是想用Unity自带的GUI功能实现魔兽世界的小地图效果,结果折腾了一个晚上。原来的思路如下:根据玩家坐标,计算出应显示的地图缩略图部分(128×128);用GUI遮罩将非白色的部分剔除(这样可以实现任意形状的小地图);将地图框叠加到第二步中的纹理上......[查看更多]
Unity 3d中NGUI显示清晰中文字体
Unity 3d中NGUI显示清晰中文字体
步骤:1.安装bmfont,然后打开bmfont,选择options菜单->Font settings;2.选择“微软雅黑”(注意不是“@微软雅黑”,没有“@”符号,否则之后导出的字体是横向的),unicode编码;ok,请看界面最下面一栏29180个字符!显然太多了......[查看更多]
unity3d中使用Ngui实现幻灯片效果
unity3d中使用Ngui实现幻灯片效果
首先添加一个Simple Texture用来当做幻灯片的对象。新建一个材质,着色器选择如图在Simple Texture上选择我们刚刚建立的材质,最后上代码......[查看更多]
Q:NGUI动态加载资源有什么好处啊?
A:嗯,简单来说就是节省内存的占用,不用把全部资源一次性都读到内存中去,而是需要的时候再读取,尤其在内存有限的移动平台,比如手机上,能够动态加载资源对于提升运行效率还是影响很大的。详细
Q:如何用代码控制NGUI中Sprite的图片?
A:一般在NGUI中图片用UISpirit,UISpirit有个参数是color的,可以获取到该图片的颜色,然后设置它的alpha值渐变为0。详细
Q:我使用NGUI做的UI用到了字体,一旦放大后就会有锯齿,不知道有没有办法解决这个问题...
A:如果字体是自己制作的,可以在制作字体的时候把字体的大小设置大一些。详细
Q:同一GUI下多界面切换怎么实现呢?
A:直接在界面中多做几个Panel,每个Panel中放置一组UI,然后就可以根据需要动态激活或者关闭响应的Panel,切换也可以像NGUI例子中的移动切换一样,或者是缩放,任何方式都可以实现。详细
Q:使用NGUI做好了一组UI,把整个UI Root(2D)给拖入一个预制件里,UI中的图片却无法更新了?
A:如果更新了NGUI的图片,你可以把预制好的预制件拖到场景中更新一下,然后再重新替换原来的预制件,还有就是NGUI的图片更新的时候,有时可能不会自动更新,需要你手动更新一下。预制件在场景中如果你更改了其中的元素组件的话,会有可能丢失跟原来的预制件的关联,这时候就是相当于还原到原来的状态了。详细
Q:Unity3D怎么读取本地的字体?
A:bmfont本身不支持,需要插件.NGUI或者EZGUI都支持,系统字体的话,在系统的字体文件夹下找需要的,然后拷贝到Asset文件夹下面,就可以了 其余和使用默认的那个字体的方法完全一样。详细
Q:NGUI创建的工程,每次第一次启动基本上都会报这错,但是不影响项目的开发,只是有个错误提示?
A:确实有的NGUI版本导入的时候,有错误的,我以前也遇到过,换个版本就没问题了。详细
Q:如何用代码控制NGUI控件,如Button、Lable、SlicedSprite等?
A:public UILabel text; 声明,然后脚本给一个物体,直接把label拖上去,然后引用的 时候直接使用text.text = "中文"; 这是label。 至于button你想问的是按钮的事件吗? 添加脚本buttonmessage,然后把写有事件的脚本拖给target,下面的function name填你的方法名。详细
Q:如何实现NGUI动态加载资源啊?
A:关键是写Editor。把所有公共的图片资源单独提取出来。详细代码点击链接。详细
Q:NGUI目前最新版是哪个?有没有NGUI下载的链接啊?
A:目前NGUI版本是2.6.3,NGUI下载地址请点击链接。详细
结束语:NGUI的使用方式与Unity的使用方式一样。使用Widget Tool可快速创建模板化的控件,或者从基本组件创建你自己的控件。可以按照你的意愿拷贝/粘贴,把你的窗口保存为prefabs。所有一切只需简单地点击操作即可完成。当需要编写代码让控件移动时,可以选择简单的例子代码,可以把你的控件转变为按钮、输入框、基于事件改变颜色、播放声音、触发动画等等。