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