怎么给node排序

我尝试了zIndex和setLocalZOrder,都没成功。我的情况是这样:有两个独立的node:a,b;node a下面有个子节点c,目前的绘制顺序是a-c-b,我想要的绘制顺序是a-b-c,请问要怎么做。

粘上我写的代码:
//dianti.js
cc.Class({
extends: cc.Component,

properties: {
	dianti: {
		default: null,
		type: cc.Sprite
	}
},

// use this for initialization
onLoad: function () {
	//this.node.zIndex = 10;
	this.node.setLocalZOrder(10);
	//this.dianti.node.zIndex = 30;
	this.dianti.node.setLocalZOrder(30);
}

// called every frame, uncomment this function to activate update callback
// update: function (dt) {
// },

});

//people.js
cc.Class({
extends: cc.Component,

properties: {},

// use this for initialization
onLoad: function () {
	this.node.on("touchstart", ()=>{
		cc.director.getScene().removeChild(this.node);
		this.destroy();
	});
	//this.node.zIndex = 20;
	this.node.setLocalZOrder(20);
}

// called every frame, uncomment this function to activate update callback
// update: function (dt) {
// },

});

creator 的z轴顺序只影响同意层级节点的渲染顺序

请问如果要给不同层级的节点设置渲染顺序要怎么做,或者怎么使它们处于同一级,这两个类都是做成prefab的(会重复生成),它们的parents都被我设置为 cc.director.getScene();(它们似乎应该是同一级的吧 )

我知道为什么不生效了,改z轴顺序似乎不能对节点的节点也生效,我把三个节点分开来就可以了,虽然从面向对象的角度来说我感觉这样并不好,我之前是把电梯做成一个类,乘客做成一个类,现在是电梯里(背景)单独再做成一个类,电梯门又做成一个类。