序言:这是张三疯第一次开始NGUI插件的学习,刚开始学习,肯定有很多漏洞,后期会及时的补上的。
希望大家可以见谅,希望大佬多多指教。
一、什么是NGUI:
NGUI是严格遵循KISS原则并用C#编写的Unity(适用于专业版和免费版)插件,提供强大的UI系统和事件通知框架。
其代码简洁,多数类少于200行代码。这意味着程序员可以很容易地扩展NGUI的功能或调节已有功能。
对所有其他用户而言,这意味着更高的性能、更低的学习难度和更加有趣。完全集成到Inspector面板中。 不需要点击Play按钮就能查看结果。
在场景视图中看到的就是在游戏视图中得到的(所见即所得)。
基于组件的、模块化的特性:要让你的界面控件做什么,只需为其附加相应的行为,而不需要编码。 全面支持ios/android和Flash。
灵活的事件系统。 可以让复杂的UIs只占用一个draw call。
二、 NGUI与UGUI的区别
1) UGUI的Canvas 有世界坐标和屏幕坐标
2) UGUI的Image可以使用material
3) UGUI通过Mask来裁剪,而NGUI通过Panel的Clip
4) NGUI的渲染前后顺序是通过Widget的Depth,而UGUI渲染顺序根据Hierarchy的顺序,越下面渲染在顶层.
5) UGUI 不需要绑定Colliders,UI可以自动拦截事件
6) UGUI的Anchor是相对父对象,没有提供高级选项,个人感觉uGUI的Anchor操作起来比NGUI更方便
7) UGUI没有Atlas一说,使用Sprite Packer
8) UGUI的Navigation在Scene中能可视化
9) UGUI的事件需要实现事件系统的接口,但写起来也算简单
三、.各自的优缺点
1) NGUI还保留着图集,需要进行图集的维护。而UGUI没有图集的概念,可以充分利用资源,避免重复资源。
2) UGUI出现了锚点的概念,更方便屏幕自适应。
3) NGUI支持图文混排,UGUI暂未发现支持此功能。
4) UGUI没有 UIWrap 来循环 scrollview 内容。
5) UGUI暂时没有Tween组件。 【以上是转发自红黑联盟】
通俗的来说,就是NGUI和UGUI各有各自的优缺点,需要通过需求进行选择,我们对于这两个都要进行学习,
每个公司的需求不一样,总不能在一棵树上吊死咯需求第一嘛。
四、扩充:
为提供和我一样的小白找不到免费的NGUI插件,这里分享百度网盘的分享链接,注意只能用作学习使用,
如需用在开发项目还是建议去unity的官网花几十美刀吧。
链接:http://pan.baidu.com/s/1kVDvvKV 密码:2jqt 这是3.11.4版本的,相对而言还是比较新的。