NGUI总结和UGUI总结

本文对比了NGUI与UGUI在Unity中的使用特点及优缺点。介绍了如何使用NGUI创建UI元素,UGUI的Canvas配置,以及两者之间的主要区别,如锚点设置、图集管理和事件处理的不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在asset导入NGUI会在unity最上面菜单栏多出NGUI工具栏,点击NGUI--->open--->prefab toolbar会有创建好的一些控件,直接拖到hierarchy中即可使用,注意的是在视图中显示的控件在右侧属性中的脚本必须展开,否则控件不会显示出来而且无法在视图中创建东西,之后再scene中右键可以create许多控件

注意在scene中create必须在hierarchy中选中UI Root才能create

       

第一个可以选择NGUI或Unity,第二个是选择字体


Atlas是图集,图片的集合,Sprite控件是添加图片,Panel是面板,如果让一个label变成按钮,需要attach一个box collider和UIButton,注意必须先attach一个box collider然后attach才能出来UiButton

在按钮的On Click的属性上Notify是触发那个组件Method是触发该组件上的哪个方法



NGUI---->open------>Atlas Maker打开图集


最右侧选择new,然后在asset选择第一个图片按住shift选择最后一个图片,这样就全选了所有的图片并且添加到了Atlas Maker中,点击Create保存到asset中的Atlas中,

更新图集:在asset的图集右键,NGUI--->open Atlas maker,进行图片的更新

切图SlicedSprite在Sprite属性有个type选择sliced选择edit,设置边界可以把边界切掉

Sprite属性中有个Anchors它是设置上下左右边框距离目标点的距离来保证图片拉伸的缩放,比如在游戏的小地图永远在右上角不会因为图片的缩放而失真,因此小地图的左和右应该距离UI Root右侧保持距离,上和下距离UI Root的上侧保持距离


tween动画:


可以实现透明度颜色旋转等的改变

给一个按钮添加播放声音,add component输入Play Sound有现成脚本


对于文字要想让它几个字几个字慢慢出来,添加这个脚本








比如把人物模型characters放到UI Root,它的大小要放大到640才能在视图中看到,如果设成1是太小看不到的

        





UGUI总结:

所有物体的父物体必须是画布Canvas,对于画布,它的第一个属性Render Mode有三个选项,

第一个Overlay(覆盖)

表示该物体与画布重叠时,画布会覆盖在物体上面显示


第二个Screen Space Camera,需要拖动一个相机到Render Camera中,Plane Distance表示画布距离该相机的距离是100,物体在这个距离前面那么就呈现出物体覆盖在上面的情况,如果后面就在后面


第三个是世界坐标的,他可以让画布以立体的形式呈现出来,比如画布缩放,倾斜


还有一个属性Sorting Layer,也是层级关系,如果给它设置了层级,那么层级数字大的会覆盖掉层级小的


Canvas Scaler(画布缩放)

    

其中Screen match Mode如果选择Shrink,那么是屏幕不能留白,图片宁肯超出屏幕

如果选择Expand,表示图片不能超出屏幕


如果要让物体处于可交互的,添加selectable属性即可,可以设置正常物体的颜色,按压物体时颜色



在代码中使用到UI控件记得在脚本的最上面添加using UnityEngine.UI


通过代码的形式将物体移动到上一层级,下一层级:


比如把一个image移动到最底层的做法



1. 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的事件需要实现事件系统的接口,但写起来也算简单

2.各自的优缺点

   1) NGUI还保留着图集,需要进行图集的维护。而UGUI没有图集的概念,可以充分利用资源,避免重复资源。
   2) UGUI出现了锚点的概念,更方便屏幕自适应。 
   3) NGUI支持图文混排,UGUI暂未发现支持此功能。 
   4) UGUI没有 UIWrap 来循环 scrollview 内容。 
   5) UGUI暂时没有Tween组件。

转自:http://www.cnblogs.com/porter/p/5566367.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值