一.渲染层级
1.在Ngui中,depth(深度)控制UI界面的渲染层级,深度越大,显示的越上面。
2.首先在Ngui中会先排列UIPanel的depth,然后在在排列对应UIpanel下的Widget的depth(即使预制体
的根节点上没有挂载UIpanel,那么他也是会继续向上寻找,直到找到UIPanel为止)。
3.而且在Ngui中不受unity的子物体比父物体优先渲染的逻辑控制,全部都是按照深度控制。
4.如果游戏工程中存在NGUI和UGUI共存情况,那么在显示对应预制体时,应该避免其他地方在更新NGUI的
颜色,显隐等等,防止NGUI重新排列层级,否则会导致UGUI闪烁。
5.UI上制作特效:要在NGUI逻辑底层修改对应显示RenderQ代码,不然图片与图片的RenderQ差值为1,
都无法放置特效。
NGUI按渲染优先级排序:
-
UIPanel.sortingOrder -
UIPanel.depth -
UIWidget.depth
UIPanel面板还有个Render Q属性,用来设置该面板的renderQueue的起始值。该属性有三种选项,分别是Automatic,StartAt,Explicit,
全部都默认的Automatic的话,NGUI会自己帮我们按照Panel的depth为第一优先级,Widget的depth为第二优先级来处理好渲染序列。后两者可自定义renderQueue的起始值。
当Render Q默认为StartAt或Explicit时,UIPanel.depth则不起作用。
二.NGUI切图九宫格
在ngui中如果Sprite的长宽无法调整,可以到对应图片的图集下改变其Border的长宽。
|