文章目录

  • 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

  1. 接口中的CC去掉:

    CCSprite -> Sprite , CCCallFunc -> CallFunc
    
  2. 结构体变化

    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
    
  3. 单例的应用接口

    ::sharedSome() -> ::getInstance()
    
  4. 点、大小、区域

    CCPoint  -> Vec2
    CCSize -> Size
    CCRect -> Rect
    
  5. CC to Some

    CCLog -> CCLOG
    CCArray -> __Array or cocos2d::Vector<T>
    CCSet -> __Set
    ccTouchBegan -> onTouchBegan
    CCObject -> Ref
    CCPointZero -> Vec2::Zero
    
  6. 回调函数

    // 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__)
    
  7. Function对象使用

    CallFunc::create([&](){Sprite *sprite = Sprite::create("s");this->addChild(sprite);
    });
    
  8. 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发展历程相关推荐

  1. 微信是怎样炼成的 微信产品的发展历程

    迄今为止,微信月活跃用户接近6亿,称得是每个智能手机用户最常用的应用,人人都说,微信是个伟大的产品.现在微信作为一个平台型的产品,集成了众多丰富的,能给用户带来不同功能和体验的模块和工具,已经成为了腾 ...

  2. 百度PHP高级顾问惠新宸:PHP在百度的发展历程

    惠新宸,百度PHP高级顾问,年二十有八,好追根究底,有不良嗜好, 幸性本善.乙酉年识互联网,丁亥年入雅虎,翌年入百度.虽性好安稳,然经变无数,唯常叹"人生,菠菜汤尔". 大家好,今 ...

  3. vue 发展历程时间轴动画_PPT时间轴如何做出创意感?海量素材免费分享,网友:收藏...

    时间轴页面,是工作型PPT中常见的页面之一.个人述职或者公司介绍PPT中,使用时间轴,能够让观众更加清晰地了解公司的发展历程. 但是,很多人在制作时间轴页面时,往往是这样的效果: 只有几行字和一根线, ...

  4. 7 大主题!梳理神经网络中 Normalization 的发展历程

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本篇文章用于总结近年来神经网络中 Normalization 操作 ...

  5. 5分钟回顾Linux25年的发展历程与变迁

    来自 LinuxQuestions.org 和 Bad Voltage 的 Jeremy Garcia 提供了 Linux 25 年的发展历程.最开始,Linux 作为创作者 Linus Torval ...

  6. JavaScript异步调用的发展历程

    同步与异步 通常,代码是由上而下依次执行的.如果有多个任务,就必须排队,前一个任务完成,后一个任务才能执行.这种连续的执行模式就叫做同步. a(); b(); c(); 复制代码 上面代码中,a.b. ...

  7. GPU的发展历程、未来趋势及研制实践

    来源:文章转载自期刊<微纳电子与智能制造>, 作者:熊庭刚 摘要 凭借GPU强大的计算能力,超级计算机在数据处理.物理模拟.天气预测.现代制药.基因测序.先进制造.人工智能.密码分析等方面 ...

  8. 解析1G到5G技术与设备发展历程

    来源:5G 作者:张国宝:国家发改委原副主任.国家能源局原局长 摘要:解析1G到5G技术与设备发展历程 未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构. 未 ...

  9. 焦李成教授谈深度神经网络发展历程

    来源:西电人工智能学院 摘要:焦李成教授谈深度神经网络发展历程 2018年11月18日下午,计算机科学与技术学部主任.人工智能学院焦李成教授在成都参加了由中国人工智能学会主办的人工智能大讲堂并做特邀报 ...

最新文章

  1. python3.7.4安装教程桌面_Python 3.7.4 for Windows的安装
  2. CCF201503-4 网络延时(100分)
  3. Python学习—函数
  4. Jquery 日期差函数 修改 对火狐进行兼容
  5. Android 编译时:m、mm、mmm、mma、mmma的区别
  6. Identity和IdentityServer的区别及联系
  7. 背景图层和普通图层的区别_图层样式(一)—高级混合选项
  8. Magento: 获取产品评论 get all reviews with review summary
  9. hadoop服务器系统设置win10,win10系统hadoop安装配置的设置技巧
  10. c语言指针动态分配数组长度,C语言安全之数组长度与指针实例解析
  11. 提高开发效率的十五个Visual Studio 2010使用技巧
  12. HTML将div层级升到最高,CSS层级嵌套关系详解
  13. 用Python3在牛客网acm模式刷题怎么输入输出
  14. matlab syms函数例题,matlab函数计算syms f o s z k D t m q T x;p=f-o-(s-o)*(1-erf(0.5*
  15. Cannot create an instance of class AndroidViewModel (androidx ViewModelProvider AndroidViewModel)
  16. 清浅时光,岁月静好——我的2016
  17. Nginx+FFmpeg rtsp转flv实时预览
  18. ZAO换脸App被微信屏蔽,授权APP请谨慎
  19. [Unity]滑动条与图片填充与滑动条填充(滑动条和Image的关联)
  20. 怎么用xshell等ssh连接方式连接自己的本地虚拟机

热门文章

  1. 前端基础之Html、CSS、JavaScript、JQuery、Ajax
  2. 简单有效的去黑头方法
  3. VUE饿了么学习笔记(6)goods界面滚动和点击联动的实现
  4. 国家基金申请书中的科学问题与关键问题
  5. Android测试能不能用monk,Android之monkey Test
  6. 005 GO-高级数据类型(结构体和方法)
  7. 什么是进修编程言语之前
  8. 电机控制书籍复习--高性能变频调速及其典型控制系统-马小亮
  9. java中mdc是什么_MDC 什么的缩写
  10. CloudFoundry源码分析:NATS