Sprite3D在UI层的绘制和遮挡
来源:互联网 发布:天房网络客服电话 编辑:程序博客网 时间:2024/05/21 06:26
有很多朋友对sprite3D在UI层的绘制和遮挡不太明白,这里稍微说明一下。
并且有其他疑问也可以在原帖中回复,然后会持续更新一些想要的功能。
引擎版本: Cocos2d-x 3.6
语言: C++
绘制顺序是按照这种顺序绘制的:
1. globalz<0的物体
2. 3D不透明的物体,如果3D物体的globalZ为0,3D物体都在这里绘制,否则根据他们的globalZ决定绘制顺序
3. 3D透明物体,如果3D透明物体的globalZ为0,都在这里绘制,否则根据他们的globalZ决定绘制顺序,粒子属于3D透明物体,默认在这里绘制。
4. globalZ=0的物体
5. globalZ>0的物体
截图:
和骨骼动画的绘制对比
经过我的测试,骨骼动画和sprite3D,他们的绘制顺序是根据globlezorder值 来定的,
在zorder值相同的时候,先绘制骨骼动画,后绘制sprite3D。
否则先绘制zorder值高的物体,没图说个JB,上图!
并且,sprite3D是不会吞噬触摸事件的
来源网址:http://www.cocoachina.com/bbs/read.php?tid-307234.html
经验回复:其实最重要的原因还不是局部和全局这种关系。 主要原因是localZOrder会根据UI遍历来渲染,而Global的那个是脱离UI树遍历的,比如,你一个弹出框,你意识里希望他能够在最前边显示,所以你设置他背景图的globalzorder了。于是他脱离UI树了,然而你有按钮和显示的文字是放在背景图上的,然后这些文字却没有脱离UI树,最终你看到的结果是一个空白的框(因为按钮和文字实质上是在框下边,遵循LocalZOrder去绘制的)。这个所谓的脱离UI树,也许说的不够准确。欢迎继续探讨,但是,能不用Global就别用
- Sprite3D在UI层的绘制和遮挡
- Sprite3D模型本身遮挡问题
- NGUI 特效和UI遮挡的问题
- Sprite3D
- Activity的启动和UI绘制
- DIV层在IE6下被下拉框遮挡的解决方法
- 去除DropDownList遮挡层的效果
- FLASH遮挡DIV层的解决方法
- DIV层被Flash遮挡的解决办法
- 弹出层被flash遮挡的解决办法
- Unity特效与UI遮挡的问题
- CALayer创建图层和遮挡层应用
- google 地图和baidu地图 在android上的实现过程和对比 包含 自定义图层的绘制
- google 地图和baidu地图 在android上的实现过程详解和对比 包含 自定义图层的绘制
- 解决IE和Firefox下,div层被flash遮挡住的问题
- ie下select遮挡住绝对定位层的bug和解决办法
- div层 被 flash 层 遮挡的解决方法
- 使用JSR-184里的Sprite3D对象
- jz2440 根文件系统 移植(yaffs2、busybox部分)
- hibernate3第四章之一对多cascade、fetch
- std::regex在VS2013中的一个坑
- HDU - 4276(转树形dp)
- handlebars的使用
- Sprite3D在UI层的绘制和遮挡
- 新手程序员必读:推进编程工作的七条箴言
- Spring的事务配置
- linux下db2常用的命令
- 父视图的控制权获取子视图的控制权
- msdn
- mybatis和hibernate 对比
- SAP财务管控(财务总监背后的管理大师)
- Java中的反射机制