深度管理
每一个显示对象在其父级的容器中都拥有一个属于自己的深度值,而且这个值相对于同级显示对象是唯一的。深度值实际上就是一个显示对象的叠放次序。也可称为 “z-次序”,类似于css的"z-index";
容器的子对象数量
容器.numChildren
深度顺序
Egret中容器的深度都是从0开始的,当第一个显示对象被添加到容器中时,它的深度值为0。这个显示对象处于容器的最底层。当添加第二个显示对象的时候,它的深度值为1,并且在第一个显示对象上方。如果两个显示对象发生了相交,那么可以从视觉上看到,第二个显示对象遮挡住第一个显示对象。
也就是说谁添加到容器中,谁的层次就比较低。
添加/删除指定深度的对象
添加指定深度的对象(相当于插入):
默认按照当前子对象深度进行排序,从0开始,每次深度加1,以此类推。
容器.addChildAt( 显示对象, 深度值 )
删除指定深度的对象:
容器.removeChildAt( 深度值 )
删除容器内的所有子对象
容器.removeChildren();
交换不同深度对象
根据显示对象交换深度:
容器.swapChildren( 显示对象, 显示对象 )
根据深度交换显示对象:
容器.swapChildrenAt( 深度值, 深度值 )
重设子对象深度
容器.setChildIndex( 显示对象, 新的深度值 )
访问容器子对象
根据深度值访问(效率快):
容器.getChildAt( 深度值 );
根据显示对象的name访问:
//前提设置name。显示对象.name="name";
容器.getChildByName( 显示对象的name );//参数是String