CocosCreator場景動態加載預置物體,二次加載場景報錯TypeError: Cannot read property 'length' of null

TypeError: Cannot read property 'length' of null這個錯的是js上面報錯,原因就是參數不符合規格,有null存在,那麼就重點排查每一個參數的的值。
出問題代碼:

logUtils.log("aaaaa=======", this.bt);
where.node.addChild(this.bt);
  1. 打印首次加載參數值
    在這裏插入圖片描述
  2. 打印二次加載參數的值
    在這裏插入圖片描述
  3. 進行對比分析
    在這裏插入圖片描述
  4. 得出結論

第一次關閉場景的時候場景資源進行了回收,同時綁定在場景資源上的node對象也進行了回收,二次加載的時候,該對象各項參數爲空,獲取信息時候取不到所以拋出異常。

  1. 解決問題
    由於本項目中沒有使用自動釋放資源,那麼只需要考慮動態加載的數據,考慮在每次啓動場景之前預置物體進行加載即可:(加載都是異步的,需要自己考慮設置)
 	cc.director.preloadScene("game");
    burstBt.init(); //初始化按鈕
    cc.director.loadScene("game");
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章