SimpleAudioEngine
experimental
名字空間SimpleAudioEngine
experimental
名字空間編寫了一些文檔方便開發者升級到 v4:
Cocos2d-x 3.17.2 側重于穩定性的提升, 已有問題的修復和針對 OPPO 手機的性能優化。
assets/
時, FileUtils::listFiles()
無法正常工作VideoPlayer
無法播放 OBB 包里的視頻文件的問題詳細的改動請參考 ChangeLog。
<Cocos2d-x 3.17.1 側重于穩定性的提升, 已有問題的修復。
Cocos2d-x 3.17 版本著重于工具鏈的更新,和穩定性的增強。
Android 平臺使用 Android Studio (3.0, 3.1, 3.1.1) 和 NDK r16 進行測試。
Cocos2d-x 3.17 版本著重于工具鏈的更新,和穩定性的增強。
Android 平臺使用 Android Studio (3.0, 3.1, 3.1.1) 和 NDK r16 進行測試。
3.17 帶來對 iPhone X 的支持,包含支持全屏模式,支持自動隱藏 Home 指示器,改用 Storyboard 作為啟動屏幕,和增加獲取 Safe Area 的接口。在開發支持 iPhone X 的應用時,最需要了解清楚的就是 Safe Area:
開發者可以通過調用 `Director::getSafeAreaRect()` 來獲取 Safe Area 區域。
Android Studio 是 Google 官方唯一支持的 Android 開發 IDE。
該版本增加了對 Android Studio 3.0+ 的支持。在支持的過程中,同時將 NDK 版本從 r14 升級到 r16。對 Gradle 工程配置也進行了諸多改進,包括簡化 Gradle 變量 PROP_*,將依賴聲明中棄用的 `compile` 改為新的 `implementation`,增加用以削減 Release 包體積的 Proguard 文件。
擴展 CMake 構建支持至全平臺,包括 Android (NDK)、iOS、macOS、Linux、Windows(VC++ compiler)。支持將引擎部分進行預編譯,并在新的構建過程中重用預編譯的引擎庫。通過使用預編譯庫,可以極大的縮短工程構建時間。
詳細的使用方法請參考 CMake 文檔
Spine 骨骼動畫廣泛用于 Cocos2d-x 開發的游戲,引擎跟進 Spine 的升級,升級 Runtime 至 3.6.39。
升級 GLFW 至 3.2.1 以修復支持游戲手柄時存在的問題,同時提供 GLFW 預編譯庫。
社區希望引擎升級 Box2D,可 Box2D 的新版本遲遲未發布,根據反饋 GitHub 提交 f655c603ba9d83 是穩定的,升級 Box2D 至該提交,同時提供 Box2D 的預編譯庫。
每一次版本發布,都會附帶特定版本的第三方預編譯庫,如果由于項目需要想對第三方庫進行定制,請參考: 第三方庫文檔
由于 Google 官方自 Android SDK Tools 25.3.0 就已放棄 ant 支持。移除舊有的 `proj.android` ant 工程,新的 `proj.android` 是 Android Studio 工程。NDK r16 棄用了 armeabi,引擎調整默認的編譯架構從 armeabi 為 armeabi-v7a。
在 win32 平臺,越來越多的開發者已經使用 Visual Studio 2015/2017 進行開發,移除對年代久遠的 2013 的支持?,F存的工程配置適合于 2015 ,如果需要使用 2017,可打開現有的 sln 文件,調整配置,或使用 CMake。
該版本包含 51 項 bugs 修復和 33 項小改進,不再列舉,請參考 Changelog。
Cocos2d-x v3.16版本使用如下Android工具鏈進行測試:
該版本在3.15的基礎上加了針對華為設備的優化代碼。該優化代包含兩部分內容:
引擎會搜集一些信息,如節點數、粒子數、播放音頻數量等信息以計算游戲對CPU的需求等級,并把等級信息上報給系統服務。系統服務受到等級信息決定是否對CPU進行調頻。
當設備發燙時,系統服務會調用引擎接口降低fps、減少粒子數,關閉背景音樂、音效等。等設備不發燙了再恢復。
該系統服務只在華為的新設備上存在,對于別的Android手機沒有影響。如果不想要該優化功能,可以通過如下方式關閉:
從 3.15 版本開始,可以使用Android Studio 2.3+ 編輯、編譯和調試C++代碼。只需要通過Android Studio打開 proj.android-studio 文件夾(比如 tests/cpp-empty-test/proj.android-studio ),然后點擊 run 按鈕就可以在Android設備或者模擬器運行、調試了。
3.15版本之前,音頻模塊使用 OpenSL ES 解碼、播放音頻文件,但是很多的Android設備廠商會修改這部分代碼,導致音頻模塊在不同的Android設備上有兼容性問題。該帖子就列出了許多音頻模塊的問題。
為了解決兼容性問題,我們引入了第三方的解碼庫tremolo和 MP3 Decoder Library 。該解碼庫也是Android源碼使用的解碼庫。使用該解碼庫除了能解決Android設備的兼容性問題,同時還帶來了不少性能提升:
引入該解碼庫會使最終的APK包增大100K左右,和帶來的好處相比還是值得的。
Windows 8.1的支持一直是微軟的開發者在維護。因為市場占有率原因,微軟覺得沒必要繼續支持Windows 8.1了。
目前大部分的PC都是64位了,所以我們覺得去除對32位linux的支持。去除這個支持意味著第三方庫去掉了對應的32位版本,這樣可以減小發行包的大小,也減少引擎維護的工作。開發者如果想支持32位版本的話,可以使用這個倉庫自己編譯32位版本的第三方庫。
Android SDK Tools 25.3.0+去除了ant腳本和android命令 ,使得cocos命令無法打包Android的Eclipse工程(proj.android)。為了不至于在最后生成APK時才報錯,現在cocos命令檢查到這個版本后直接返回錯誤。有兩個方法可以解決這個問題:
從Android工具刪除ant腳本和android的行為來看,谷歌是不希望大家繼續使用Eclipse工程,所以建議大家還是使用Android Studio來編譯打包吧。舊版本引擎雖然不支持Android Studio調試C++代碼功能,但是編譯打包還是沒問題的。
在2017新年來臨之際,Cocos引擎團隊送上了新一年的驚喜:Cocos2d-x v3.14全新版本。該版本支持所有平臺使用luajit 2.10-beta2、Sprite支持九宮格特性、新增動作類ResizeBy和ResizeTo......這么多給力的新功能,相信你一定會喜歡的。
話不多說,下面我們趕緊來細細盤點Cocos2d-x v3.14新版新驚喜。
Cocos2d-x核心優勢在于允許開發人員利用C++、Lua及Javascript來進行跨平臺部署,覆蓋平臺包括iOS、Android、Windows Phone等等,省事省力省成本。
近日, Cocos引擎完成重大更新:正式推出Cocos2d-x v3.13版本。在新版本里,AudioEngine性能最高提升4倍、支持ETC1 alpha通道、集成AnySDK、增加VR插件、優化Canvas臟矩形算法等等。該版本進一步完善并整合了歷史零碎功能,為開發者創造更為簡單、快捷的開發環境。
Android平臺下,AudioEngine使用OpenSL ES播放聲音。從Android 4.2開始,OpenSL ES支持解碼聲音文件為PCM數據,引擎正是利用這個以特性來緩存解碼后數據以提升性能。因此,該性能提升只在Android 4.2及以上版本有效。需要先preload,否則第一次播放性能沒有很大提升。
使用新的內存模型后,開發者不需要關心對象的聲明周期。這就意味著不需要在JS代碼里手動調用