3.6 UITransform的priority属性不能用了,新的方案是什么?

我之前早就针对你这个问题进行了解释,你没有发现而已

我还是这句话,要用到zIndex功能的。还是要封装

我给你解析一下这句话:你的目的是“能用setSiblingIndex实现的就不需要用zIndex”,你的条件是“换成setSiblingIndex还是要封装性能也没提高反而代码多了”,我针对你的条件进行了解释说明,反驳了你的目的,你为什么还没有明白呢

真的是,谁都可以搞阅读理解了

我说的是能直接setSiblingIndex实现的功能,就不需要用zIndex,而你反驳的意思是我用setSiblingIndex封装了个类似zIndex功能的接口,实际上还是用的setSiblingIndex,我可以借用你之前说的话,你可以升级下编程原理。

我封装了setSiblingIndex,当然是为了更易用。按照你的说话。我每个用到zIndex功能的地方。都需要重复封装setSiblingIndex,然后再使用,麻烦想想自己是学习面对对象的

永远不服输,永远不知错。你说的是

是的,我可能需要给没懂的人解释下。我说的是直接用setSiblingIndex可以实现的功能模块。而不是封装setSiblingIndex后再用封装的接口实现的,对于必须要用到zIndex功能的场景。请问你是怎么实现的?

永远不服输我觉得你在说自己

用编辑器排序的

那我要动态使用呢?比如地下城与勇士这样的游戏

parent=xxxnode

你是没做过这样的游戏是吧?看到你这个回复我就不会再回复了

请你更新一下编程思想

你先顺着想,想不出正确的,再说它错

今年看到的最大笑话,用父节点控制层级来实现地下城与勇士这样的游戏

1赞

parent本身就是一种排序,之前引擎没有实现parent排序,现在实现了不是更方便了

这是笑话吗@jare

diff --git a/cocos/2d/framework/ui-transform.ts b/cocos/2d/framework/ui-transform.ts
index 4be2516f7..dfab34062 100644
--- a/cocos/2d/framework/ui-transform.ts
+++ b/cocos/2d/framework/ui-transform.ts
@@ -729,9 +729,10 @@ export class UITransform extends Component {
         }
     }
 
-    private static _sortChildrenSibling (node) {
+    private static _sortChildrenSibling (node: Node) {
         const siblings = node.children;
         if (siblings) {
+            // @ts-expect-error
             siblings.sort((a:Node, b:Node) => {
                 const aComp = a._uiProps.uiTransformComp;
                 const bComp = b._uiProps.uiTransformComp;
@@ -741,6 +742,9 @@ export class UITransform extends Component {
                 if (diff === 0) return a.getSiblingIndex() - b.getSiblingIndex();
                 return diff;
             });
+            for (let i = 0; i < siblings.length; ++i) {
+                siblings[i].setSiblingIndex(i);
+            }
         }
     }

我站你队,我就是部落冲突类型的游戏,强烈需要zIndex排序的,跟你杠的这个人,他就不知道假如45度2D游戏,战斗中实现士兵在地图中Y轴上下移动时刻改变层级时,使用setsiblingIndex是如何糟心烂肺的开发体验

哈哈,你每个帖子都要回复一下吗?在官方不太会改的情况下,只能自己封装下了

为了性能考虑,没有每个都排序,只改了当前变化的那个,且变化的这个已经加到了父节点

https://gitee.com/dream93/scl/blob/main/SCL.ts

2赞

请参考 3.7 setSiblingIndex 如何实现zindex
做引擎的人都是做过游戏的,这个无需多虑。