cocos creator開發過程中問題記錄

1. 編輯器不能識別腳本里面@property類型,顯示爲null,腳本拖不上去

解決方案:

@property的類循環引用導致的,可以改變組件類型到cc.Node解決

2. Cannot read property ‘_assembler’ of null

解決方案:

場景某一個子節點 onload方法裏拋出異常,導致後面所有的onload不能順利執行,導致render組件未能初始化.
初始化onload的地方打斷點調試跟蹤,可具體定位查看具體錯誤位置

3. target.getComponent is not a function

解決方案:

button所依賴的節點從某個方法上發生了屬性改變.檢查Button類的節點綁定的一些屬性節點對象

4. 跨多層節點座標轉換問題

解決方案:

先將目標節點轉化爲世界座標,然後在轉換成對應節點的座標.
轉換api: 
convertToWorldSpaceAR 
convertToNodeSpaceAR

5. Illegal target which doesn’t have uuid or instanceId

解決方案:

自定義組件類是否定義了屬性 _id

6. 開啓模擬器調試界面中的Pause on exception

開發調試的過程中,開啓模擬器調試界面中的Pause on exception,該功能能夠在程序發生異常的時候自動在發生異常處斷點,並完好的保留錯誤現場。保持這個功能的開啓能夠有效提升開發效率和質量。

7. destroy 和 removeFromParent

調用一個節點的 removeFromParent 後,它不一定就能完全從內存中釋放,因爲有可能由於一些邏輯上的問題,導致程序中仍然引用到了這個對象。因此如果一個節點不再使用了,請直接調用它的 destroy 而不是 removeFromParent。destroy 不但會激活組件上的 onDestroy,還會降低內存泄露的機率,同時減輕內存泄露時的後果。總之,如果一個節點不再使用,destroy 就對了,不需要 removeFromParent 也不需要設置 parent 爲 null

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