关于3.x 设置渲染层级(目前只能通过设置节点树顺序) 的性能问题请教

image image
setSiblingIndex方法,会将节点设置到它父节点的字节点数组中的目标位置,若传入index<0,会强制设置为0,若大于节点数组长度,则设置为数组最后一位.

那么问题如下:
若我有一个割草游戏,同屏100只怪,这些怪物存放在同一个父节点下,当怪物移动时,我需要修改渲染层级.在2.x的时候,我的做法是直接修改zIndex为 2000-node.y ,以此实现y越高,越早渲染.
但3.x无法使用zindex,只能使用setSiblingIndex.
setSiblingIndex(2000-node.y)也是不可行的,因为它会强制拉回到数组最后一位.

这是我能想到的方法:
对所有节点做node.y排序,再赋予SiblingIndex,但这明显有性能问题.
有其他思路吗

划区排序 :face_with_raised_eyebrow:

zIndex删了确实狗屎

2赞

嗯目前看来只能如此了