NGUI层级深度理解总结
来源:互联网 发布:前端优化14个性能规则 编辑:程序博客网 时间:2024/06/03 20:51
出处:http://www.taidous.com/bbs/article-574-1.html
NGUI的层级关系有点复杂,这里把从网上搜来的关于NGUI层级深度的信息合并到一起,算作是对NGUI层级深度理解的一个总结。
一、NGUI层级关系与非层级关系
NGUI层级关系就是创建时默认的那个层级关系,包括UIRoot , Camera , anchor,panel,非NGUI层级关系是Camera,然后在里面创建控件,但是Camera要挂上UIcamera 和UIpanel脚本。
二、关于NGUI深度、层次总结(做过很多NGUI界面后理解会更深刻)
1、同一个panel下,同一个atlas的不同sprite的显示只受depth的控制,这是最经常用的方式。此时不论精灵的z轴如何变化,depth高的一定在前面。(相同atlas其实是共用同一个Z轴深度)2、不同panel下,同一个atlas的不同sprite不受depth的控制,而受z轴控制。此时只需稍微调节下其中一个精灵的z轴就可以,比如0.1,就可以控制sprite的显示
3、不同panel下,不同atlas的精灵的穿插,受z轴的控制。
4、同一个panel下,不同Atlas的sprite,受z轴控制,depth不起作用。
三、图集
项目中做到复杂一些的界面,经常会用到多个图集,以技能界面为例,项目中常用的图片放到共用图集中, 这是一个图集,技能界面本身独有的元素,比如跟技能职业相关的背景,算作第二个图集,还有一些技能图标, 图标单独归类到一个图集中,再一个就是字体的图集。基本一个界面如此分法,最多需要4个图集。NGUI的图集之间的处理,默认是靠调整控件的Z值来区分的,但是这里他可以调整同一个图集每个一个控件的Z值,其实不是很好。经常会出现图层相互遮挡的情况,尤其对于控件比较多的界面,一段时间回过来再修改界面的时候,整个要崩溃。 我的做法是。在UIPanel中,为每一个Material添加一个layer的变量,当同一图层靠depth来决定前后关系,不同图层靠layer来决定前后关系,在绘制UIDrawCall的时候,根据layer对跟节点做一定偏移。这样就能从Z值中解放出来。如果大家也有碰到图层的问题,可以参考这样的做法,以此种方法来处理图层关系,简单,做过项目的圈套UI,还未有不能解决的情况。
0 0
- NGUI层级深度理解总结
- NGUI深度、层级总结
- unity销毁层级物体及 NGUI 深度理解总结
- NGUI层级
- 粒子渲染与NGUI渲染层级深度问题分析
- Unity&NGUI渲染层级
- Unity+NGUI 的层级和深度的各种关系及调整
- ngui 和粒子层级问题
- 设置层级深度
- 【Unity3D】【NGUI】【2.7版本之前】层级问题呀层级
- 解决ngui 粒子 层级显示问题
- 解决骨骼动画与ngui层级关系
- NGUI Mesh 粒子 Spine 层级解决方案
- NGUI层级中间的特效显示
- unity Ngui渲染层级的关系
- NGUI总结
- 深度讲解 Android 主题层级
- CSS层级总结
- Steve Jobs的演讲
- apache 开启伪静态 Rewrite及检测
- 封装java mail包
- pixhawk 添加超声波传感器
- Java并发-类库新组件 - PriorityBlockingQueue 理解
- NGUI层级深度理解总结
- 用Jmeter进行压力测试
- Java对象的序列化和反序列化
- 二叉树拷贝
- MyBatis传入参数为集合 list 数组 map写法
- UVa 232, Crossword Answers
- POJ--3169 Layout
- C++实现普通队列,循环队列的基本操作(初始化,入队,出队,获取队列首元素等)
- tableview刷新某个分区或者某行