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 的图层会被新场景的元素覆盖的问题

toast-manager 在新场景的位置
上一篇下一篇

猜你喜欢

热点阅读