Cocos2dx发展历程
文章目錄
- Cocos2dx發展歷程
- Python版本
- Cocos2d-iPhone
- 其他版本的移植
- Cocos2d-x
- 從v2.0到v3.0
- Cocos產品
- Cocos
- Cocos2d-x
- Cocos Creator
- Others
Cocos2dx發展歷程
原文參考
Python版本
- 2005-2007
Ricardo和朋友使用Python語言設計并開發多種游戲,在設計新游戲的過程中,每次都要重新開發引擎; - 2008.02
在阿根廷Los Cocos組建游戲開發團隊并開始創建游戲開發引擎; - 2008.03
在PyCon 2008芝加哥宣布了alpha版本(v0.1),命名Los cocos,之后改名為Cocos2d; - 2008.07
EuroPython 2008上展示了Cocos2d(v0.3);
Cocos2d-iPhone
- 2008.06
公布用Objective-C編寫的Cocos2d for iPhone v0.1; - 2008.07
使用該開發引擎開發了第一個游戲Sapus Tongue; - 2008.12
使用該引擎開發的游戲在App Store中已超過40個; - 2009年初
使用該引擎開發的Stick Wars獲得了應用商店排名第一; - 2011.07
在社區幫助下,發布了cocos2d-iphonev1.0;
其他版本的移植
- Java
cocos2d-android, cocos2d-android-1 - C++
Cocos2d-x - JavaScript
Cocos2d-HTML5, Cocos2d-JavaScript - C#
CocosNet, Cocos2d-XNA, CocosSharp - Go
Gocos2d - Python
基于cocos2d-iphone新端口(非原始cocos2d) - Ruby
ShinyCocos, RubyMotion支持
Cocos2d-x
- 2010.07
由Zhe Wang創建,使用C++,使用Objective-C命名方式,開啟了Cocos2d-x元年; - 2011.07
開始使用Lua腳本語言開發游戲邏輯; - 2011.07之后
Cocos2d-x v2.0版本誕生,將OpenGLES1.0版本提升到2.0,支持Cocos Builder編輯器,支持JavaScript。
隨后拋棄了OC編程風格的Cocos2d-x v3.0支持C++11特性; - 2012年
quick團隊(非cocos2dx團隊)開發quick-cocos2d-x用以提升lua腳本的易用性,后被cocos官方收購將引擎命名為cocos2d-lua;
從v2.0到v3.0
接口中的CC去掉:
CCSprite -> Sprite , CCCallFunc -> CallFunc結構體變化
ccp(x, y) -> Point(x, y) ccpAdd(p1,p2) -> p1+p2; ccpSub -> p1-p2 ccpMult -> p1*p2 ccpLength(p) -> p.getLength() ccpDot(p1,p2); -> p1.dot(p2) ccc3() -> Color3B() ccc4() -> Color4B() ccWHITE -> Color3B::WHITE CCPointZero -> Point::ZERO CCSizeZero -> Size:ZERO單例的應用接口
::sharedSome() -> ::getInstance()點、大小、區域
CCPoint -> Vec2 CCSize -> Size CCRect -> RectCC to Some
CCLog -> CCLOG CCArray -> __Array or cocos2d::Vector<T> CCSet -> __Set ccTouchBegan -> onTouchBegan CCObject -> Ref CCPointZero -> Vec2::Zero回調函數
// new callbacks based on C++11 #define CC_CALLBACK_0(__selector__,__target__, ) std::bind(&__selector__,__target__, ##__VA_ARGS__) #define CC_CALLBACK_1(__selector__,__target__, ) std::bind(&__selector__,__target__, std::placeholders::_1, ##__VA_ARGS__) #define CC_CALLBACK_2(__selector__,__target__, ) std::bind(&__selector__,__target__, std::placeholders::_1, std::placeholders::_2, ##__VA_ARGS__) #define CC_CALLBACK_3(__selector__,__target__, ) std::bind(&__selector__,__target__, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3 ##__VA_ARGS__)Function對象使用
CallFunc::create([&](){Sprite *sprite = Sprite::create("s");this->addChild(sprite); });clone replace copy
//v2.0 copy()->autorelease() //same as v3.0 clone()Cocos產品
Cocos
-
Cocos v2.2
提供了3D編輯器,編輯器向前兼容以及向后兼容;
插件擴展方面,支持了基于LUA的自定義控件,支持控件面板和屬性面板的擴展,增加了一種導出格式—LUA代碼導出格式,開放了數據導出接口,用戶可以自定義自己的數據格式,滿足自己的特殊需求;
完整工具鏈,可以完整地完成新建、開發調試、到發布的全過程;
開放的Cocos Store接入各家服務。 -
Cocos v2.2.5
Cocos v2.2.5可以將Cocos Studio編輯的場景UI直接發布到手機上,查看運行效果;
自定義簡單的3D擴展控件,亦可通過編寫C#代碼來自定義一個高級的3D控件;
新建項目流程,創建項目更加方便快捷; -
Cocos v2.3
為開發者而完善,新增標尺與參考線等功能;
cocos v2.3.0版本的導出json功能得到了優化,場景資源列表能夠存儲到當前的json里;
為便于開發者快速掌握最新最全的API,cocos v2.3.0版本貼心推出了更新版的cocos文檔;
3D場景:支持參考坐標軸與原點快速切換;
這條線最終貌似廢棄了,或者說重新整合到Cocos Creator,如下;
Cocos2d-x
-
API Reference
-
Cocos2d-x v3.9
3D模塊功能 3D MotionStreak,支持拖尾效果,優化優化 Sprite3D支持材質系統;
2D模塊增加幀回調函數和動畫回調函數,新增腳本組件系統,使用Component重構2D物理組件, EditBox:優化iOS和Win32平臺的實現,統一與Android平臺的表現, 移除AssetsManager, AssetsManagerEx和Downloader對curl的依賴,優化粒子性能; -
Cocos v3.10(包含Cocos2d-x框架)
整合了引擎,不知道團隊想干嘛,可能是覺得開發的時候太亂了,搞一套開發流程,編輯器Cocos Studio現已重構了吧恐怕;
-
Cocos2d-x v3.15
全面支持 Android Studio,包括編譯、代碼編輯和調試C++代碼:使用文檔
音頻模塊在Android平臺使用tremolo和 MP3 Decoder Library 解碼音頻文件,使得音頻模塊效率更高,兼容更多的Android設備
WebSockets 和 SocketIO 支持 SSL
AssetsManagerEx更加穩定
更新 Spine runtime 到v3.5.35
更新 flatbuffer 到v1.5
升級 OpenSSL 到v1.1.0
去除 Windows 8.1 的支持
去除32位linux的支持 -
Cocos2d-x v3.16
更好地支持 creator_to_cocos2dx 這個Cocos Creator的插件
新增 LayerRadiaGradientLayer
支持__Android Studio 2.3.3__
修復lua工程在Xcode 8.0+模擬器崩潰問題
回退CocosStudio的reader和flatbuffer
修復iOS 11編譯錯誤
使用bullet的預編譯庫以加快編譯速度
去除Windows 10 metor模式、Windows Phone和Tizen的支持
Web引擎更新Spine runtime到v3.5.35 -
Cocos2d-x v3.17
支持 iPhone X
支持 Android Studio 3.0+
CMake 支持全平臺,支持預編譯引擎庫
升級 Spine runtime 至 v3.6.39
升級 GLFW 至 3.2.1,并提供預編譯庫
更新 Box2D,并提供預編譯庫
去除 Android 的 ant 工程
去除 Visual Studio 2013 的支持 -
Cocos2d-x v4.0
iOS/macOS 支持 metal
使用 CMake,刪除各平臺的工程文件
升級 GLFW 到 3.3
升級 minizip 到 1.2
刪除廢棄函數
刪除 h5 引擎和 Javascript 綁定
刪除 tiff
刪除 SimpleAudioEngine
刪除 experimental 名字空間
修復 macOS 15 系統字體繪制問題
適配 iOS13, UIWebView 使用 WKWebView 實現,VideoPlayer 使用 AVPlayerController 實現
修復 lua 工程在 64 位設備的崩潰問題
Cocos Creator
-
關于 Cocos Creator
Cocos Creator是一個完整的游戲開發解決方案,包含了輕量高效的跨平臺游戲引擎,以及能更快速開發游戲所需要的各種圖形界面工具,其完全為引擎定制打造,包含從設計、開發、預覽、調試到發布的整個工作流所需的全功能一體化編輯器;
提供面向設計和開發的兩種工作流,提供簡單順暢的分工合作方式;
目前支持發布游戲到 Web、iOS、Android、各類"小游戲"、PC客戶端等平臺,真正實現一次開發,全平臺運行。
v1.0主要內容發布:
新 UI 控件:文本框和網格式布局;
骨骼動畫和瓦片地圖支持; -
Cocos Creator v1.1
導入 Cocos Studio / Cocos Builder 的工程資源;
加入碰撞體組件系統;
開放定制 JavaScript 和 C++ 引擎的工作流程;
完善資源動態加載的接口; -
Cocos Creator v1.2
如標題,Cocos Creator 1.2發布:H5快5倍、包體小30%、Lua支持預覽版,提升了引擎性能; -
Cocos Creator v1.3
添加了新功能,富文本支持,Dragon Bones,骨骼動畫支持,Prefab 自動同步與打包時自動合圖大大降低美術人員管理項目資源的成本,新增 UI 控件(PageView,Toggle , Toggle Group,Slider),Creator for Lua 1.1 新升級,插件形式全自動工作流程,全新 AudioEngine; -
Cocos Creator v1.4
性能大幅提升,原生平臺提升80%以上、H5平臺提升超過50%
支持Spine和DragonBones最新版本,支持網格動畫,讓動畫栩栩如生
UI 文字顯示增強,支持批量渲染
插件商店上線,新插件開發工作流程公布
熱更新問題修復,接口增強
增加原生音頻軟解碼方案,提高兼容性
支持VS Code 調試網頁版游戲 -
Cocos Creator v1.5
1.2版開始提供的Collider碰撞組件做碰撞檢測,版本1.5集成的物理引擎可以做復雜的物理效果;
在Creator 1.5里面,Box2D集成到編輯器里,用戶可以方便快捷的拖拽、進行各種物理屬性編輯;
Cocos2d-x + Box2D開發中,經常需要關注從物理世界到Cocos2d世界的坐標轉換,而Cocos Creator的物理集成則能夠實現自動轉換,用戶只需關注熟悉的像素坐標即可。 -
Cocos Creator v1.7
JSB 2.0,原生平臺性能提升;
Cocos2d-x 導出,支持 C++ & Lua 原生游戲工作流;
Cocos Analytics – 數據統計;
原生平臺模塊裁剪,便捷高效減小原生游戲包體; -
Cocos Creator v2.0
重寫了底層渲染器,從結構上保障了性能的提升和渲染能力的升級。同時,為了保障用戶項目可以更平滑得升級,幾乎沒有改動組件層的API。當然,這些改動并不是對用戶完全透明的,比如引擎加載流程、事件系統、引擎整體 API 的精簡和重組;
加入基于 Cocos3D 的 3D 渲染器,具備了正式引入 3D 支持的基礎; -
Cocos Creator v2.1.0
支持了 3D 模型渲染、3D Camera、3D 骨骼動畫、3D 點選等 3D 特性,同時編輯器原生支持解析 FBX 格式的 3D 模型文件,不需要額外的導入流程。 -
Cocos Creator v2.0.7
增加華為快游戲正式發布支持;
Cocos 引擎服務面板正式集成 Matchvs,除了與實時音視頻服務提供商聲網 Agora之外構建合作,幫助開發者快速獲取“開黑”能力之外,還同國內優質的聯網服務提供商 Matchvs 開展了深入合作,今日 Matchvs SDK 已正式接入服務面板,各位開發者可以通過接入 Matchvs SDK,快捷地實現多人即時聯網。 -
Cocos Creator v2.0.8
完善對安卓新版微信(7.0.3)的支持; -
Cocos Creator v2.0.9
新增了百度小游戲平臺的支持; -
Cocos Creator v2.2
-對渲染引擎進行了大幅度升級,在原生平臺上實現了巨大的性能提升,不僅完勝了所有 Cocos Creator 過往版本,更超越了 Cocos2d-JS 和性能一貫優異的 Cocos2d-lua。因此 2.2 版本的 Cocos Creator,已經能夠在原生平臺上滿足所有 Cocos 新老開發者的性能需求。
在 Android 原生上,Cocos Creator 2.2.0 的性能是 Cocos2d-lua 和 1.9.3 版本的 1.5 – 1.7 倍。
在 iOS 原生上,Cocos Creator 2.2.0 的性能和 Cocos2d-lua 齊平,是 1.9.3 版本的 3 – 4 倍 -
Cocos Creator v2.1.4
正式支持支付寶小游戲平臺; -
Cocos Creator 2.3.0
移植了 Cocos Creator 3D 中的物理、碰撞和 3D 粒子系統,還升級到了和 3D 引擎一致的正式版本材質系統,能夠勝任更多品類的游戲開發;
支持 3D 物理系統;
支持 3D 碰撞系統;
支持 3D 粒子系統;
升級材質系統到正式版;
支持 Spine 與 DragonBones 掛載節點;
支持 Spine 二進制資源格式; -
Cocos Creator v2.4.1
支持 HUAWEI AppGallery Connect; -
Cocos Creator v2.4.2
字節小游戲基于字節跳動全產品矩陣開發,包含 今日頭條、抖音 及 今日頭條極速版,是不需用戶進行下載,點開即玩的全新游戲類型,與圖文、視頻等場景有著天然的搭配性。
Others
-
Cocos Creator 3D v1.0
將持續把 3D 方面的新技術應用到 Cocos Creator 3D 工具鏈以及增強 Cocos Creator 2D 產品的表現力和性能。立足于為開發者提供一個輕量、易用的 3D 創作工具,潛心探索三年多,經歷了三個多月的大范圍公測,Cocos Creator 3D 已準備就緒,于今日發布正式版本,真正為 Cocos 開發者加持 3D 游戲的開發能力。 -
Cocos Analytics
總結
以上是生活随笔為你收集整理的Cocos2dx发展历程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bash脚本运行C++程序
- 下一篇: 2019年第二阶段我要变强个人训练赛第十