egret-docs-master/Engine2D/displayObject/resetDepth/README.md

38 lines
1.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

重设子对象深度有2种方法:[使用 setChildIndex ](../depthManagement/README.md#4重设子对象深度)和使用 zIndex.
从 Egret 5.2.24 版本开始,`DisplayObject` 中新增加了一个 `zIndex` 属性,可以设置对象的 Z 轴顺序。该值越大,越靠近顶部。
在 PC 的 Chrome 浏览器和安卓系统中,`zIndex` 的效率比 `setChildIndex` 高很多。极限测试时可以达到10倍以上。
在 iOS 系统中,两种方式的效率基本一致,没有很大区别,这跟系统浏览器的内核有关。
**注意,要给一个对象使用 zIndex包含此显示对象的 DisplayObjectContainer 对象一定要设置 sortableChildren = true开启排序功能否则设置 zIndex 是无效的**
```javascript
let container = new egret.Sprite();
container.sortableChildren = true;//注意一定要设置为true
this.addChild(container);
let texture: egret.Texture = RES.getRes('bird_png');
let b1 = new egret.Bitmap();
b1.texture = texture;
b1.x = 100;
this.addChild(b1)
let b2 = new egret.Bitmap();
b2.texture = texture;
b2.x = 270;
this.addChild(b2)
let b3 = new egret.Bitmap();
b3.texture = texture;
b3.x = 440;
this.addChild(b3)
b2.zIndex = 3;//将第二个图片设置到顶部
```
![](./p1.png)