prefab 被遮住了,求解

如下图所示,按照官方的教程来编写的,在随机生成星星这一步出了问题。界面上显示不出来星星,于是我做了以下步骤:
1、console.log 发现星星确实生成了,并且添加到canvas 的child里面了。但还是没显示
2、将backGround 和ground都缩小后,显示出了星星。

所以推断是添加星星预制的时候在层级管理器中添加到了background 的下面。

求教:
代码中如何将星星预制正确的添加到画布最上层?

creator 新手。真诚求助

我也奇怪为什么addChild不是默认把node放在最上层。好吧我遇到那次可能是creator的问题,普通拖动sprite到显示列表,不管插放在哪,放置后它都会跑到最下端,有一次没跑到最下端,插入到了一个位置,结果parent再addchild时就在那个插入的位置下面,不在最下端,我知道没说清楚,算了,就这样吧,无伤大雅。

什么最上层,是层级管理器的最上层还是显示的最前面?默认是层级的最后,但是显示是最前

代码或者demo贴出来,不然不知道是哪里的问题,有可能是你的background和ground节点不是canvas的子节点,并且在层级管理器这两个节点里还在canvas下面,才会导致你看不到星星

cavas是最底层

你的player放哪层, 就在哪层addChild好了.

注意看教程里关于渲染顺序的描述

新添加的节点在同一个父节点的情况下都是显示在所有兄弟节点的最上面的,你的背景图应该是添加到了你的prefab的叔叔节点上面去了,而且这个叔叔节点的渲染层级还是比canvas高的

好的,我去试试。3Q

加到了层级管理器最上层(canvas之下),视图显示中的底层

搞清楚了,之前的层级管理器结构是这样的,

改成这样就可以了

看这个图就知道了

你后来添加的层级都在cavas之上.(下面的层覆盖上面的)

你修改以后, 所有的部件就同一个爹CAVAS了.

这样CAVAS新添加儿子addChild的时候, 就是在ground下方. 所以能覆盖上面的一串