最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何在CocosCreator中利用常駐節(jié)點(diǎn)做圖層管理

 更新時(shí)間:2021年04月15日 09:06:19   作者:「已注銷(xiāo)」  
這篇文章主要介紹了如何在CocosCreator中利用常駐節(jié)點(diǎn)做圖層管理,這些技巧非常實(shí)用,希望同學(xué)們看完,回去可以試一下

CocosCreator版本:2.3.4

一般游戲都有圖層管理,比如

  • sceneLayer 場(chǎng)景層
  • panelLayer 彈框?qū)?/li>
  • tipLayer   提示框?qū)?/li>

cocos里的場(chǎng)景不是持久化的,每次切換都會(huì)自動(dòng)destroy,如果在場(chǎng)景上放這些圖層,那么每個(gè)scene都要放一遍?然后再獲取,這樣很麻煩。

加載場(chǎng)景使用的是cc.director.loadScene,scene的容器node貌似是director上的一個(gè)nodeActivator

現(xiàn)在如果不考慮scene的容器或者cocos的頂層容器。我想一想兩種圖層管理的方法。

一、只有一個(gè)scene

整個(gè)游戲一個(gè)scene,就是游戲入口的scene,在這個(gè)scene上放sceneLayer等圖層的node,這個(gè)入口scene相當(dāng)于egret和laya的stage。

然后所有場(chǎng)景scene和彈框模塊,都做成預(yù)制件prefab,每次顯示都addChild到入口scene的相應(yīng)圖層上就行了。

 二、使用常駐節(jié)點(diǎn)

比如我在場(chǎng)景1,放置sceneLayer等圖層。為了方便顯示,我每個(gè)圖層加了個(gè)單色。

常駐節(jié)點(diǎn)必須在根節(jié)點(diǎn)下,也就是和canvas同級(jí)。把3個(gè)圖層設(shè)置為常駐節(jié)點(diǎn)。

onLoad(){
    cc.game.addPersistRootNode(cc.find("sceneLayer"));
    cc.game.addPersistRootNode(cc.find("panelLayer"));
    cc.game.addPersistRootNode(cc.find("tipLayer"));
}

然后切換場(chǎng)景,在新場(chǎng)景中,仍然可以顯示并獲取到sceneLayer等圖層。

onLoad(){
    console.log(cc.find("sceneLayer"));  //輸出sceneLayer的cc.Node
}

利用常駐節(jié)點(diǎn),我們可以在入口場(chǎng)景中放置sceneLayer等圖層。用圖層管理類(lèi)保存引用。

三、最佳實(shí)踐

圖層管理類(lèi),單例

export default class LayerManager extends cc.Component {

    private static instance:LayerManager;
    public static ins():LayerManager{
        if(this.instance == null){
            this.instance = new LayerManager();
        }
        return this.instance;
    }

    public panelLayer:cc.Node;
    public tipLayer:cc.Node;
    
}

在入口場(chǎng)景中設(shè)置常駐節(jié)點(diǎn)layer, 用圖層管理類(lèi)保存引用。以備之后使用。

@ccclass
export default class Helloworld extends cc.Component {

    onLoad(){
        cc.game.addPersistRootNode(cc.find("sceneLayer"));
        cc.game.addPersistRootNode(cc.find("panelLayer"));
        cc.game.addPersistRootNode(cc.find("tipLayer"));

        LayerManager.ins().panelLayer = cc.find("panelLayer");
        LayerManager.ins().tipLayer = cc.find("tipLayer");
    }
}

以上就是如何在CocosCreator中利用常駐節(jié)點(diǎn)做圖層管理的詳細(xì)內(nèi)容,更多關(guān)于CocosCreator常駐節(jié)點(diǎn)做圖層管理的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • JavaScript中的 attribute 和 jQuery中的 attr 方法淺析

    JavaScript中的 attribute 和 jQuery中的 attr 方法淺析

    這篇文章主要介紹了JavaScript中的 attribute 和 jQuery中的 attr 方法淺析,需要的朋友可以參考下
    2017-01-01
  • JavaScript函數(shù)重載操作實(shí)例淺析

    JavaScript函數(shù)重載操作實(shí)例淺析

    這篇文章主要介紹了JavaScript函數(shù)重載操作,結(jié)合一次面試經(jīng)歷分析了JavaScript函數(shù)重載相關(guān)原理、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-05-05
  • javascript制作的簡(jiǎn)單注冊(cè)模塊表單驗(yàn)證

    javascript制作的簡(jiǎn)單注冊(cè)模塊表單驗(yàn)證

    通常在我們的HTML頁(yè)面表單中有大量的數(shù)據(jù)驗(yàn)證工作, 免不了要寫(xiě)很多驗(yàn)證表單的js代碼,這是一項(xiàng)非常繁瑣枯燥的工作。很多程序員也會(huì)經(jīng)常遺漏這項(xiàng)工作。所以寫(xiě)了這一 段JavaScript代碼提供給大家使用。使用起來(lái)很簡(jiǎn)單,大家拿回去自由擴(kuò)展吧
    2015-04-04
  • 使用原生javascript開(kāi)發(fā)計(jì)算器實(shí)例代碼

    使用原生javascript開(kāi)發(fā)計(jì)算器實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于如何使用原生javascript開(kāi)發(fā)計(jì)算器的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • javascript 二維數(shù)組的實(shí)現(xiàn)與應(yīng)用

    javascript 二維數(shù)組的實(shí)現(xiàn)與應(yīng)用

    javascript沒(méi)有二維數(shù)組.所有自定義了一個(gè)數(shù)組類(lèi),下面是實(shí)例代碼,需要的朋友可以參考下。
    2010-03-03
  • layui+jquery支持IE8的表格分頁(yè)方法

    layui+jquery支持IE8的表格分頁(yè)方法

    今天小編就為大家分享一篇layui+jquery支持IE8的表格分頁(yè)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-09-09
  • 微信小程序中button去除默認(rèn)的邊框?qū)嵗a

    微信小程序中button去除默認(rèn)的邊框?qū)嵗a

    這篇文章主要介紹了微信小程序中button去除默認(rèn)的邊框的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-08-08
  • Openlayers實(shí)現(xiàn)地圖的基本操作

    Openlayers實(shí)現(xiàn)地圖的基本操作

    這篇文章主要為大家詳細(xì)介紹了Openlayers實(shí)現(xiàn)地圖的基本操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 微信開(kāi)發(fā)相關(guān)功能之使用微信JS-SDK接口

    微信開(kāi)發(fā)相關(guān)功能之使用微信JS-SDK接口

    這篇文章主要給大家介紹了關(guān)于微信開(kāi)發(fā)相關(guān)功能之使用微信JS-SDK接口的相關(guān)資料,微信SDK是一套開(kāi)發(fā)工具包,為開(kāi)發(fā)者提供了許多API接口,使得開(kāi)發(fā)一個(gè)微信公眾號(hào)變得更加簡(jiǎn)單,需要的朋友可以參考下
    2023-12-12
  • js正則表達(dá)式注冊(cè)頁(yè)面表單驗(yàn)證

    js正則表達(dá)式注冊(cè)頁(yè)面表單驗(yàn)證

    這篇文章主要為大家詳細(xì)介紹了js正則表達(dá)式注冊(cè)頁(yè)面表單驗(yàn)證,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10

最新評(píng)論

满城县| 大洼县| 阳原县| 汉中市| 林口县| 禄丰县| 河津市| 乌拉特后旗| 容城县| 阿克陶县| 瑞金市| 乃东县| 广宗县| 招远市| 毕节市| 朔州市| 河西区| 辽中县| 克东县| 海淀区| 改则县| 蒲城县| 高台县| 贡觉县| 澄江县| 从江县| 贵溪市| 特克斯县| 平果县| 巴中市| 民权县| 彰化县| 偏关县| 郧西县| 瑞安市| 唐海县| 台北市| 福泉市| 无锡市| 长武县| 虎林市|