Cocos Creator 常駐節點

https://docs.cocos.com/creator/manual/zh/scripting/scene-managing.html#通過常駐節點進行場景資源管理和參數傳遞

 

通過常駐節點進行場景資源管理和參數傳遞

引擎同時只會運行一個場景,當切換場景時,默認會將場景內所有節點和其他實例銷燬。如果我們需要用一個組件控制所有場景的加載,或在場景之間傳遞參數數據,就需要將該組件所在節點標記爲「常駐節點」,使它在場景切換時不被自動銷燬,常駐內存。我們使用以下接口:

cc.game.addPersistRootNode(myNode);

上面的接口會將 myNode 變爲常駐節點,這樣掛在上面的組件都可以在場景之間持續作用,我們可以用這樣的方法來儲存玩家信息,或下一個場景初始化時需要的各種數據。

如果要取消一個節點的常駐屬性:

cc.game.removePersistRootNode(myNode);

需要注意的是上面的 API 並不會立即銷燬指定節點,只是將節點還原爲可在場景切換時銷燬的節點。

 

-----------------------------------------------------------------------------------

要注意的是 : 在creator的引擎裏面只有根節點才能夠被成功的設置爲常駐節點,這一點貌似官方文檔是沒用提到的

-----------------------------------------------------------------------------------

creator 設置常駐節點

cc.game.addPersistRootNode(this.scrollview.node);

節點必須是根節點,如果不是可以將其父節點設爲scene;

this.scrollview.node.parent = cc.director.getScene();


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章