為了提升開發者的開發效率,Creator 始終在努力著。
Cocos Creator v2.3.2 版本正式發佈了!本次更新除了常規的缺陷修復和體驗完善之外,還接入了全新的 Cocos Dashboard 系統,能夠同時對多版本引擎和項目進行統一升級和管理,建議所有 2.3 版本的開發者升級。
以下是 Cocos Creator v2.3.2 完整更新說明。為保證閱讀體驗,[參考鏈接]統一放在文末。
重點更新
Cocos Dashboard
此次推出的 Cocos Dashboard,將作為 Creator 和 Creator 3D 兩個引擎統一的下載器和啟動入口,方便大家升級和管理多個版本的 Creator。此外還集成了統一的項目管理及創建面板,方便大家同時使用不同版本的引擎開發項目。
Creator 3D 引擎將從 v1.1 開始集成 Cocos Dashboard。
管理不同版本下開發的項目。
新建項目時可以選擇使用不同的 Creator 版本。
Bug Fixes
- [Editor] 修復當相關圖片不存在時,TiledMap 資源導入卡住的問題
- [Core] 修復 3D 粒子面片朝向不正確的問題 [#6304]
- [Core] 修復版本升級後 MeshRenderer 的 textures 屬性失效的問題 [#6311]
- [Core] 修復在場景初始化時,Canvas 所在節點的尺寸可能未及時刷新的問題 [#6308]
- [原生] 修復原生上圖片偶爾出現白塊的問題 [#2258]
- [原生] 修復原生平臺 3D 模型渲染組件內存可能不釋放的問題 [#2262]
- [小遊戲] 修復支付寶小遊戲上,同時加載大量音頻失敗的問題 [#97]
KNOWN ISSUE
- 目前在 2.3.2 中導入 Cocos Studio 項目時會出現報錯,此問題將在 2.3.3 版本修復。開發者如有需要的話可以臨時先在舊版本編輯器中導入項目,然後再升級到 2.3.2 版本進行使用,或者使用自定義引擎併合入此改動 [#6278]
DEPRECATION
- 從 2.2.0 開始,我們不再建議您使用節點的 Skew 功能。Skew 通常用作在 2D 引擎中模擬 3D 效果,隨著 Cocos Creator 對 3D 節點的深入支持,Skew 效果已經完全可以由 3D 節點來實現。所以為了統一使用體驗,進一步優化引擎底層實現,我們廢棄了 Skew 屬性。不過我們依舊會保留一段時間內的向下兼容,開發者可在舊項目中延續原有做法。後續我們將進一步完善兼容方式和升級案例,擇機正式移除 Skew 功能。
升級提示
從 < 2.3.0 版本升級
如果預覽時出現加載警告 “Can not find module.module for path…”
這個警告可能是因為升級到 2.3 後,對腳本 import/require 的路徑大小寫檢測變嚴格了。在舊版本中,如果路徑的大小寫和實際文件不符,可能會有潛在的一些錯誤隱患,但不一定會表現出來。我們建議遇到這個問題的項目對相應大小寫進行修正。
從 2.3.0 開始,定製安卓原生工程時,需注意 Android 與 Android Instant 使用了同一個構建模板。
- 如果是 Android 平臺單獨使用的代碼請放入 app/src 目錄, 單獨使用的第三方庫請放入 app/libs 目錄。
- 如果是 Android Instant 單獨使用的代碼和第三方庫請分別放入 game/src , game/libs 目錄。
- 如果是 Android 和 Android Instant 共用的代碼和第三方庫,請分別放入 proj.android-studio 根目錄底下的 src 目錄和 libs 目錄。
- proj.android-studio 根目錄底下 jni/CocosAndroid.mk , jni/ CocosApplication.mk,主要用於配置引擎相關的配置,開發者的配置,建議 Android 放到 app/jni/Android.mk 和 app/jni/Application.mk中,Android Instant 請放入 game/jni/Android.mk 和 game/jni/Application.mk 中。
此外,在 Cocos Creator 編譯 Android 時會默認執行 assembleRelease/Debug,編譯 Android Instant 時會執行 in stant:assembleRelease/Debug。
如自定義了音頻前後臺切換時的暫停邏輯,升級到 2.3.0 後請移除。
目前 Creator 遊戲在所有平臺上前後臺互相切換時,都會在內部自動暫停和恢復音頻。如果開發者之前有對這一塊進行過定製,監聽並執行了 cc.audioEngine.pause()/resume() 之類的音頻操作,可能會和引擎默認行為衝突。如果有遇到相關的音頻問題,只需移除相應的定製代碼即可。
從 2.0 - 2.3.0 版本升級
(純告知,無風險)從 2.3.0 開始,Canvas 組件不再負責將 Canvas 節點尺寸設為屏幕大小,此行為將結合 Widget 組件實現。為保證兼容性,2.0 項目升級後,Canvas 所在節點會自動添加 Widget 組件。(從 1.x 項目升級無此問題)
從 < 2.2.0 版本升級
從 2.2.0 開始,我們強化了內存管理機制,現在要求用戶通過代碼動態創建且獨立於場景節點樹的 cc.Node 必須通過 destroy() 釋放,否則引擎無法知道何時回收這類節點的內存,會導致內存洩露。
- 如原先手動從場景中移除的節點,在不需要用到的時候也需要統一 destroy():
<code>// 假設 testNode 是場景中的某個節點,若之前被手動移出場景了,如testNode.parent = null;// 或者testNode.removeFromParent(true);// 或者parentNode.removeChild(testNode);// 若往後 testNode 還會再次用到,則無需手動 destroy 該節點// 否則應該手動調用testNode.destroy();/<code>
- 如原先通過 cc.NodePool 管理節點,則不受影響。
從 < 2.0 版本升級
打開 1.x 項目的話,場景等所有資源將會自動升級,代碼如有警告或報錯,可參考[1.10.0 資源升級指南]和[2.0.0 升級文檔]進行調整。
以上就是此次更新的詳細內容,也歡迎小夥伴們繼續通過公眾號、論壇、GitHub、Cocos 企業服務
等渠道向我們提交使用反饋哦~
參考鏈接
[#6304]
https://github.com/cocos-creator/engine/pull/6304
[#6311]
https://github.com/cocos-creator/engine/pull/6311
[#6308]
https://github.com/cocos-creator/engine/pull/6308
[#2258]
https://github.com/cocos-creator/cocos2d-x-lite/pull/2258
[#2262]
https://github.com/cocos-creator/cocos2d-x-lite/pull/2262
[#97]
https://github.com/cocos-creator-packages/adapters/pull/97
[#6278]
https://github.com/cocos-creator/engine/pull/6278
[1.10.0 資源升級指南]
https://docs.cocos.com/creator/manual/zh/release-notes/raw-asset-migration.html
[2.0.0 升級文檔]
https://docs.cocos.com/creator/manual/zh/release-notes/upgrade-guide-v2.0.html
閱讀更多 Cocos引擎 的文章