TypeError: Cannot read property 'length' of null
這個錯的是js上面報錯,原因就是參數不符合規格,有null存在,那麼就重點排查每一個參數的的值。
出問題代碼:
logUtils.log("aaaaa=======", this.bt);
where.node.addChild(this.bt);
- 列印首次加載參數值
CocosCreator場景動态加載預置物體,二次加載場景報錯TypeError: Cannot read property 'length' of null - 列印二次加載參數的值
CocosCreator場景動态加載預置物體,二次加載場景報錯TypeError: Cannot read property 'length' of null - 進行對比分析
CocosCreator場景動态加載預置物體,二次加載場景報錯TypeError: Cannot read property 'length' of null - 得出結論
第一次關閉場景的時候場景資源進行了回收,同時綁定在場景資源上的node對象也進行了回收,二次加載的時候,該對象各項參數為空,擷取資訊時候取不到是以抛出異常。
-
解決問題
由于本項目中沒有使用自動釋放資源,那麼隻需要考慮動态加載的資料,考慮在每次啟動場景之前預置物體進行加載即可:(
)加載都是異步的,需要自己考慮設定
cc.director.preloadScene("game");
burstBt.init(); //初始化按鈕
cc.director.loadScene("game");