场景和图层到底有啥区别?分别从编辑器和代码的角度来看?

就我目前体验来看:
在代码里两者似乎没有差别,加载方式一样,加载结果一样,都可以做为子节点添到更高层节点上去。
在编辑器里差别则有:
1、图层可以做为子控件拖到其它场景里去,这算是一种实现复合控件的好办法。而场景不能做为子控件。
2、场景可以在编辑器直接改视图大小来观察不同分辨率的适应性,这一点很方便导致我现在基本都是用场景来做UI面板。而图层对视图大小改变无反应。

不知道还有哪些差别?如果在代码里真没有差别的话,那建议在编辑器里也改成一样的嘛,何苦多一种东西。

“场景在当前的游戏画面中只有一个”——这是指逻辑上的概念吧?但是实际运行中加载多个场景csb再添加到同一父节点似乎也没问题。我想问的是,既然场景和图层其最终加载结果都是一棵node tree的话,那本质上就没有什么差别,是这样吗?

再有,“场景则强制为当前的手机屏幕尺寸,不可修改”——好像不是啊,我现在的ui都是场景csb加载出来的,大小就是编辑时的大小,还是需要我自己手动把“根ui”设成屏幕大小: cc.Director:getInstance():getVisibleSize()

另外,“不建议使用场景来做UI面板……关于针对视图大小的适配则可以使用设置UI布局的方式来适配”——我的问题是想在编辑器里就能马上看到某一ui面板在不同屏幕大小下的样子,以便一旦有问题就可马上调整,而不用真的发布到不同手机上再去验证。现在图层就没法边改边调,而场景则可以通过修改画布大小来观察其反应。

感谢版主大大解答~

我也有这样的疑问啊

我做了一个游戏 从头到尾 就1个场景 然后用 node 的 active 控制 显示哪些画面…

请问 这样 会比 多场景 效率低吗?