SpriteBuilder中同父节点的显示顺序

如下图:

SpriteBuilder中同父节点的显示顺序

到目前为止,GameScene依赖于节点在SpriteBuilder中的顺序去决定其绘制的顺序。

level content(_levelNode)被首先绘制,然后GameMenuLayer被画在前者的上面。

不管如何,现在你在代码中删除了_levelNode,然后加载了一个新的并且把它作为GameScene的一个孩子添加进来。添加一个节点将总是将其放在绘制列表的最后面。

因此,绘制顺序现在反转了,所以你不再能看到pause按钮了(其在GameMenuLayer层上).

为了修复这个问题,修改addChild:方法为:

level.zOrder = -1;
[self addChild:level];
//or将上面两句换成下面一句:
//[self addChild:level z:-1];

z序(zOrder)属性决定节点的绘制顺序。同一个父节点的所有子节点,z序低的在z序高的节点之前绘制。如果子节点的z序相同则按其添加到父节点的顺序显示。

上一篇:WordPress 数据库操作WPDB对象($wpdb)用法详解【转载】


下一篇:PLSQL_Material View物化视图的基本概念和用法 (概念)(以物化视图的方式同步两个数据库间的表或实时备份重要表)