creator没有实现原本2d-x有的globalZOrder功能导致的问题

你如何解决的呢?

1赞

假如节点团下的精灵互相有遮挡,这种方式会影响原有的层级,遮挡关系会跟着乱掉吧?

这个版本对于挂载了UIBatchRender节点的子节点去设置透明度,缩放等属性时,会有不生效的情况。
对此情况补了一点修改(引擎2.4.9)


子节点设置属性不生效的原因是:当进入父节点的children函数时,判断为合批渲染,因此对所有子节点进行了globalZOrder排序,并通过设置c._renderFlag &= ~CHILDREN禁止其执行子节点的children函数,因此子节点的_renderFlag并没有进行正确的设置。导致属性设置成功了但是绘制并没有真正绘制出对应的。
因此改动思路就是把子节点的_renderFlag与父节点关联。还在测试是否有隐藏问题,欢迎大佬们提出改进

3赞

------------- 修改


增去除了子节点恢复renderFlag的逻辑。一个是主节点渲染完就恢复子节点的Flag。相当于没有操作。另外在子节点执行相对应渲染操作的时候,会减掉对应的renderFlag。即恢复了原样

你好 ,请问一下,_globalZorder 这个属性 在 cc.Node 中是不存在的, 这个需要自己手动去维护么。

楼主可以把完整代码贴一下吗

是的,需要自己在引擎代码中定义,然后在业务代码中自己赋值

@dongzhejia @398830127
在分组渲染合批中遇到 mask组件会出现 渲染数据错误。 这个你们咋处理的。如果忽略mask mask 的裁切就没作用了