cocos creator 常驻节点,以及小知识
2021-01-22 本文已影响0人
千罹
前情提要
我们有两个场景 A,B。
我们希望 A 场景下的节点(比如 game-manager 节点)在 B 节点也存在
即:整个项目(N个场景)都用一个(game-manager)节点
1. 实现方式
在 A 场景下的 game-manager
节点上的任意脚本里,写入:
onLoad() {
cc.game.addPersistRootNode(this.node);
// ...下面是其他你自己的代码
}
这样,你的 game-manager
节点,就不会在切换场景的时候销毁了
2. 进阶思考
那么问题来了,假如(真事儿)我们需要的不仅是
game-manager
节点
还需要一个toast-manager
节点,来负责弹出提示文字呢?
问题是什么呢?
toast-manager
需要动态创建文字节点,并挂载到自己的身上
所以此时toast-manger
在图层管理器中所处的层级位置就很重要了
即:不能被其他节点覆盖
那么当切换到 场景 B 的时候,toast-manager
是在什么位置呢?
答案:
是在新场景的最底部(也就是所有图片的最顶层,除了一个系统节点外)
也就是说,我们不需要考虑 toast-manager
的图层会被新场景的元素覆盖的问题