Sorting2D代码设置sortingLayer有问题,获取必须是id而不是value

  • Creator 版本:3.8.7
    import { _decorator, Component, find, Node, settings, Sorting2D } from ‘cc’;
    const { ccclass, property } = _decorator;

const sortingLayers = settings.querySettings(“engine”, “sortingLayers”);
const default_layer = sortingLayers[0].value;
const autoAtlas_1_layer = sortingLayers[1].value;
const autoAtlas_2_layer = sortingLayers[2].value;
const autoAtlas_1_1_layer = sortingLayers[3].value;
const label_layer = sortingLayers[4].value;

@ccclass(‘NewComponent’)
export class NewComponent extends Component {

start() {
    var testNode = find("Canvas/test");
    if (testNode) {
        this.changeUISortingLayer(testNode, autoAtlas_1_layer, 0);
    }
}

changeUISortingLayer(sortingNode: Node, sortingLayer: number, sortingOrder?: number) {
    if (sortingNode.getComponent(Sorting2D)) {
        sortingNode.getComponent(Sorting2D).sortingLayer = sortingLayer;
        if (sortingOrder !== undefined) {
            sortingNode.getComponent(Sorting2D).sortingOrder = sortingOrder;
        }
    }
}

}

实际测试必须获取
const default_layer = sortingLayers[0].id;
const autoAtlas_1_layer = sortingLayers[1].id;
const autoAtlas_2_layer = sortingLayers[2].id;
const autoAtlas_1_1_layer = sortingLayers[3].id;
const label_layer = sortingLayers[4].id;
来进行复制,否则会报unknown id。不知道官方是不是没测试过…无语