• <nav id="yisao"><rt id="yisao"></rt></nav>
  • 一眨眼假期就過了,但是 Cocos Creator 2.4.3 來啦!

    2020.10.9 產品動態 by Cocos

    今天是返工第一天,告訴大家一個噩耗,你已經過完了 2020 年所有法定節假日!此時縈繞在心里的只有一個念頭:為什么正義都能遲到,上班卻不能呢?

    好消息是 Cocos Creator 2.4.3 正式版終于來啦!我們帶來了很棒的新特性以及性能提升,例如支持 Prefab 的嵌套使用和 Android x86_64 的支持等,希望能一定程度撫慰大家返工沉重的心情和體重。

    此外,本次更新修復了 2.4 版本以來的所有問題,提升了編輯器穩定性,希望大家使用起來更加得心應手、事半功倍。建議所有開發者做好相關備份工作升級喔!

    What’s new

    • 支持 Prefab 嵌套

    支持在 Prefab 中嵌套使用其他 Prefab,從而減少重復資源數量,并且更加利于維護與更新。

    • 新增對 Android x86_64 的支持

    Android 平臺可選擇 x86_64 進行構建,構建之后可在更多設備與模擬器上運行。

    • 模擬器增加是否清空緩存的選項

    Improvements

    • 優化構建后 JSON 文件大小,配合合并所有 JSON,最多能減少最多 30% JSON 體積
    • 升級物理引擎 Cannon 版本到 1.1.1
    • 原生平臺支持下載遠程資源失敗后使用斷點續傳[#345]
    • 優化編輯器導入 Plist 資源速度
    • 優化編輯器下執行 cc.resources.load 的性能
    • 支持加載存儲空間中的 Asset Bundle [#153]

    Engine

    • [CORE]修復 SpriteFrame 的 clone 方法中共享屬性的問題 [#7030],感謝大城小胖
    • [CORE]修復 editorOnly 作用于資源屬性時,資源無法從構建中剔除的問題[#7048]
    • [CORE]修復 cc.Quat.rotateX, cc.Quat.rotateY, cc.Quat.rotateZ 計算結果可能不正確的問題[#7036]
    • [CORE]修復 setPosition 與 setScale 不傳入 z 值,z 值重置為 0 的問題[#7104],感謝大城小胖
    • [AUDIO]修復 AudioSource 無法獲取 duration 的問題[#7035]
    • [AUDIO]修復 AudioSource 組件勾選 loop 和 mute 無效的問題 [#6935]
    • [AUDIO]修復切換場景時,音頻沒有停止播放的問題[#7317]
    • [PARTICLE]修復粒子系統 InputAssembler 沒有清空的問題[#7060],感謝 caogtaa
    • [PARTICLE]修復粒子系統組件無法切換圖集中其他 SpriteFrame 的問題[#7000]
    • [LABEL]修復 Label 渲染出現一些突刺的問題[#7132]
    • [LABEL]修復 LabelOutline、LabelShadow、MotionStreak 組件的 color 屬性共享的問題[#7027]
    • [LABEL]修復在 start 里修改 Label 顏色無效的問題。[#7018]
    • [LABEL]修復 BITMAP 模式下的文本隱藏時修改 string 屬性無效的問題。[#7003]
    • [PHYSICS]修復剛體一旦進入休眠,使用其他剛體撞擊,無法產生碰撞效果的問題[#7119]
    • [CAMERA]修復在沒有攝像機時渲染 EditBox, VideoPlayer, WebView 崩潰的問題,[#332]
    • [CAMERA]修復 onLoad 函數中,獲取不到攝像機正確尺寸的問題,[#7073]
    • [WIDGET]修復 widget 設置為 ON_WINDOW_RESIZE 時, 當使用 setContentSize 時,沒有更新的問題[#7275]
    • [ASSET]修復多次加載同一 Asset Bundle,加載失敗的問題[#7424]
    • [ASSET]修復連續調用 loadRemote 加載同一張圖片,加載失敗的問題[#6941]
    • [ASSET]修復加載資源失敗后,progress 回調還在執行的問題[#7121]
    • [ASSET]修復 Bundle.load 傳入數組時,返回值不是數組的問題[#6923]
    • [ASSET]修復腳本加載順序可能不正確的問題[#7065]
    • [ASSET]修復延遲加載時,無法切換 Sprite.spriteFrame 的問題,[#7233]
    • [ASSET]修復項目腳本中過早調用 cc.resources , 提示不存在的問題

    Native

    • 修復 Android 平臺 SafeArea 組件寬高不對的問題[#2562]
    • 修復 Android 旋轉后沒有重新計算 SafeArea 的問題[#337]
    • 修復 iOS 設備屏幕翻轉后,重力感應不對的問題[#2791]
    • 修復 iOS 設備方向設置為 upside down,顯示錯誤的問題[#2787]
    • 修復 iOS 平臺在 LaunchScreen 畫面的時候,立即旋轉,可能出現觸摸坐標異常的問題[#309]
    • 修復 Android 4.4 以下崩潰的問題[#2532],感謝 deyongzhong
    • 修復潛在的內存泄漏和空指針問題[#2512],感謝 quink-black
    • 修復彈出和收回 EditBox 導致屏幕寬度改變的問題[#2630]
    • 修復 iOS 端 EditBox 編輯文字,光標自動跳轉到末端的問題[#2669]
    • 修復 iOS 下 EditBox 韓文聯想被打斷的問題[#2669]
    • 修復下載資源失敗后臨時文件沒有被刪除的問題[#2629]
    • 修復 iOS 上緩存資源路徑拼接錯誤的問題[#311]
    • 修復加載遠程服務器上的 spine 和 dragonbone 無法顯示的問題[#322]
    • 修復 Dragonbone 崩潰的問題[#351]
    • 新增 ENABLE_NATIVE_TTF_RENDERER 宏用于控制是否使用原生渲染器進行 ttf 字體的渲染 [#7053]
    • 修復原生平臺無法開啟 mipmap 的問題[#2689]
    • 修復原生平臺聚光燈渲染錯誤的問題 [#2695]
    • 修復 async 函數中的異常不會打印的問題 [#328]
    • 修復 iOS VideoPlayer 跳轉不準確的問題[#2531],感謝 goesByhc
    • 修復 VideoPlayer.play 在視頻未加載完成時調用,不會播放的問題[#329]
    • 修復調用 CallStaticObjectMethod 出現異常閃退的問題[#2706]
    • 修復原生平臺 cc.game.restart 報錯的問題[#347]
    • 修復原生平臺 ttf 資源放遠程服務器上加載失敗的問題[#7380]

    Editor

    • 修復在編輯器中給對象添加 DontSave 私有標記時 undo 會報錯的問題
    • 修復編輯器下 cc.resources.loadDir 返回值與運行時不一致的問題
    • 修復預覽時加載 Asset Bundle 中所有資源報錯的問題
    • 修復設置 Bundle 為合并所有 JSON 文件后,無法完全合并 JSON 文件的問題
    • 修復罕見的情況下場景或預制中的 RichText 數據如有問題時會導致編輯器崩潰的問題
    • 修復 timeline 面板彈出的時候,加載不到動畫的問題
    • 修復在編輯器中修改 SphereCollider3D 的 center 值,gizmo 沒有更新的問題。
    • 完善編輯器 UI
    • 修復預覽構建后的項目,可能會出現加載失敗的問題
    • 修復導出資源時沒有導出依賴資源的問題
    • 修復插件中的 auto-atlas 無法構建的問題
    • 修復動畫編輯器添加的幀事件參數為 boolean 類型數值為 false 的時候出現無效的問題
    • 修復沒有勾選物理模塊時,預覽報錯的問題[#7075]

    Mini Game

    • 修復小游戲在軟鍵盤拉起狀態下,切換輸入框,導致輸入狀態混亂的問題[#136]
    • 修復 loadRemote 無法加載臨時目錄中的圖片的問題[#155]
    • 修復微信上,XHR 無法設置 timeout 屬性的問題[#164]
    • 修復部分小游戲平臺,音頻播放失敗的問題[#7341]

    Web

    • 修復火狐瀏覽器點擊視頻無法暫停播放的問題[#7372]
    • 修復 iOS14 設備上幀率過低的問題[#7415]

    升級提示

    Cocos Creator 對項目的升級操作是不可逆的,請在升級前提交或備份舊版項目。絕大多數項目通常都能自動升級,但因為項目難免存在特殊性,開發者應該根據項目自身需求,提前對新版本引擎進行試用和評估。此外,出于穩定性考慮,建議即將上線或已上線的項目謹慎升級。以下是升級說明,如果開發者們在升級中遇到困難,歡迎向我們反饋,我們會盡力協助。

    從 < 2.4.0 版本升級

    •  cc.loader 已經不建議使用,請使用最新的 cc.assetManager 來代替,請參考 資源管理模塊升級指南
    • 子包功能已升級為 Asset Bundle,請參考 資源分包升級指南
    • 調整了項目構建后的目錄結構,調整了 BuildResults 的 API,如果你使用了編輯器插件獲取編輯器構建結果,請參考 定制項目構建流程升級指南
    • 從 1.10 開始廢棄的 cc.RawAsset 已被正式移除,請使用 cc.Asset 代替。由于 2.4 不再兼容原有 1.x 項目中對RawAsset 類型的歷史遺留用法,建議所有要升級到 2.4 的項目特別是從 1.9 版本一路升級上來的項目,先在任意的 1.10 ~ 2.3 版本中對編輯器編譯代碼時輸出的所有警告或報錯都正確處理完畢,再升級到 2.4。
    • cc.Color.fromHex 已被廢棄,請使用 cc.Color.fromHEX 接口

    從 < 2.3.3 版本升級

    • Effect 中的 CCTexture2D,CCTexture2DRGB 方法已被廢棄,請改用 CCTexture,CCTextureRGB
    • Vec3.FRONT 已被廢棄,請改用 Vec3.FORWARD

    從 < 2.3.0 版本升級

     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 時會執行instant: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():

    // 假設 testNode 是場景中的某個節點,若之前被手動移出場景了,如

    testNode.parent = null;

    // 或者

    testNode.removeFromParent(true);

    // 或者

    parentNode.removeChild(testNode);

    // 若往后 testNode 還會再次用到,則無需手動 destroy 該節點

    // 否則應該手動調用

    testNode.destroy();

    • 如原先通過 cc.removeSelf 這個 action 銷毀節點,請改為使用 cc.destroySelf。
    • 如原先通過 cc.NodePool 管理節點,則不受影響。

     2.2.0 開始,我們不再建議你使用節點的 Skew 功能。

    Skew 通常用作在 2D 引擎中模擬 3D 效果,隨著 Cocos Creator 對 3D 節點的深入支持,Skew 效果已經完全可以由3D 節點來實現。所以為了統一使用體驗,進一步優化引擎底層實現,我們廢棄了 Skew 屬性。不過我們依舊會保留一段時間內的向下兼容,開發者可在舊項目中延續原有做法。后續我們將進一步完善兼容方式和升級案例,擇機正式移除 Skew 功能。

    從 < 2.0 版本升級

    打開?1.x?項目的話,場景等所有資源將會自動升級,代碼中的廢棄接口從?2.3.3?開始將會在保持兼容的基礎上同步輸出報錯。升級方式可參考《1.10?資源升級指南》《2.0?升級文檔》進行調整。

    以上就是本次更新的內容,歡迎大家下載更新,有任何意見或者建議,可以通過論壇等渠道向我們反饋哦!雖然大家心里可能只有一個念頭:

    女人脱裤子让男生桶爽免费看,久青草无码视频在线播放,精品国产人成亚洲区,久久精品国产亚洲一区二区