场景中的某个节点被设置为常驻节点
cc.game.addPersistRootNode(myNode);
那么这个场景反复加载时,这个节点会被加载多次吗?
场景中的某个节点被设置为常驻节点
cc.game.addPersistRootNode(myNode);
那么这个场景反复加载时,这个节点会被加载多次吗?
不会的。放心吧
addPersistRootNode: function (node) {
if (!cc.Node.isNode(node) || !node.uuid) {
cc.warnID(3800);
return;
}
var id = node.uuid;
if (!this._persistRootNodes[id]) {
var scene = cc.director._scene;
if (cc.isValid(scene)) {
if (!node.parent) {
node.parent = scene;
}
else if ( !(node.parent instanceof cc.Scene) ) {
cc.warnID(3801);
return;
}
else if (node.parent !== scene) {
cc.warnID(3802);
return;
}
}
this._persistRootNodes[id] = node;
node._persistNode = true;
cc.assetManager._releaseManager._addPersistNodeRef(node);
}
},
只要有Canvas的地方都需要挂SafeArea
可是 常驻跟节点 不在 canvas下 ,
切换场景的时候,是先保留常驻节点,场景切换后再挂上去
至于常驻节点上挂的脚本,是否被多次 onLoad ,你放心,不会的
多谢啦!需要五个字
是每次切换场景时都把 节点从canvas移除,挂到根节点再 cc.game.addPersistRootNode 一下吗?
好像没有事件知道场景切换后再把它挂回新场景的Canvas里啊?
我都是 find到 常驻节点,然后指定他的parent为当前场景canvas下的某个node上