新里程碑:Cocos2d-x v3.0 正式版本发布! - 开源中国社区
新里程碑:Cocos2d-x v3.0 正式版本发布!
oschina 2014年04月27日

新里程碑:Cocos2d-x v3.0 正式版本发布!

oschina oschina 发布于2014年04月27日 收藏 57 评论 11

【腾讯云】如何快速搭建微信小程序?>>>  

历经半年多的精心打磨,Cocos2d-x v3.0正式版本最终发布!相比于去年9月份的Cocos2d-x v3.0-alpha版,正式版本在渲染器、性能、兼容性、稳定性等方面都得到了质的提升,并新增对WinPhone8的支持。

svrgrehtrrth4196_140424142301_1

此外,引擎团队更分别针对C++、Lua、JavaScript三种编程接口的使用体验做了大量提升,我们来看一下各语言的优化:

C++基础底层优化:新渲染器、新API、性能飞跃

新的渲染器——更优雅, 更灵活,更易用;可创建渲染队列,每个节点独立发布渲染指令,分解draw命令,实现批量渲染;所有OpenGL集中在渲染器中,使跨平台更加容易;同时,通过创建一个自定义的渲染命令,用回调函数放入渲染逻辑而保留了自定义定制OpenGL的功能。

新修改过的API——使用C++11特性取代了 Objective-C 的特性,稳定性与可读性得到提升; 重做了许多容器,直接包装了Std,可自动保存,使用起来更加方便;将object慢慢移除使用,改成Ref来继承;另外还做了基于内存引用技术池,可自动释放内存,方便管理。

性能/兼容性/内存分配优化——利用自动剪裁技术,大场景游戏流畅度得到了2-8倍的提升,而Auto- Batching自动模拟合并功能的性能已接近于手调;sortall Children经优化排序算法后加快10倍,visit经过做缓存加快了3倍;兼容性方面提升至90.71%,达到一些国外引擎的三倍,在中国安卓平台 上非常好用;CPU平均占用率也降低了36%。

erererheheh4673_140424115555_1

增强Lua语言体验: 开发快,测试快,上线快

新版本为开发者增强了Lua体验,核心的改进主要有几个方面:

  1. 使用bindngs-generator生成Lua绑定,大大减少了编写pkg文档的工作量;

  2. 对于V3.0新增功能基本做了绑定,例如new Label,EventDispatcher和physics等,同时对原有的一些c++功能也进行了绑定,例如 websocket,xmlHttpRequest,Spine,AssetManager和OpenGL相关函数的绑定

  3. 绑定时自动实现了模块化的工作,当前在Lua可以使用的模块有cc,ccs,ccui,sp,gl

  4. 使用ScriptHandlerMgr统一管理Lua function的注册以及反注册

  5. 对于一些类直接使用Lua table传递,例如Point,Rect和Size等

  6. 增加了Lua脚本直接调用ObjectC和Java代码

trheththtrh4673_140424115645_1

新产品线Cocos2d-JS:HTML5+JSB高效整合

原Cocos2d-html5与Cocos2d-JSB现正式整合为一个新的产品线——Cocos2d-JS,为开发者提供一致的使用体验、功能支 持,以及清晰的工作流。Cocos2d-JS安装包包含完整的HTML5引擎与JSB运行库,命令行工具提供三步搞定Web与Native全平台部署的便 捷功能。

首先,Cocos2d-JS统一了使用JS进行开发的开发体验,将HTML5引擎与JSB的API高度统一起来,新文件目录结构使HTML5开发和 JSB开发完全共享游戏代码,全平台部署工具也统一了开发后的发布与测试过程,一次开发全平台运行在Cocos2d-JS上将成为再自然不过的开发体验。

其次,Cocos2d-JS的发布亦完成了HTML5引擎从2.x到3.0 alpha的飞跃,核心的改进主要有极大简化的游戏启动代码,全新的JS风格API,更强大的事件管理器,以及更易用的单例对象。在3.0正式版之前还将 增加提升性能的Bake Node与更加易用的Action API。

工具方面,除了全平台部署工具,Cocos2d-JS还提供模块化配置能力,可将引擎中不需要的东西全部剔掉。后续将新增界面工具来自动完成打包压 缩,目前最小引擎版本打包完之后为120K。同时,可视化调试工具可获得当前场景的结构树,进行排版调整、属性修改、简化UI调试等工作。此 外,Intel还贡献BENCHMARK工具用于在不同机型、浏览器上跑分,帮助项目定位推出市场之后能覆盖到哪些用户。

nbnbrtrtrh4673_140424115727_1

CocoStudio 新增Code IDE:打造完整工具链

引擎之外,Cocos2d-x团队的愿景更是成为一个跨平台游戏开发的完整工具链,包含从快速原型开发到最终完成一个高性能产品,帮助开发者降低成本与缩短周期,推动开发者生态圈。

工具链的第一部分是框架,调API使用SDK,包括渲染器、场景管理等;第二部分是CocoStudio编辑器;第三部分是工具集。

目前CocoStudio已更新至v1.3版本,优化体验的同时新增了大量新功能、新亮点:动画编辑器增加批量操作动画帧,以及洋葱皮与动画曲线功 能;UI编辑器支持扩展UI插件;场景编辑器提供炫酷的触发器功能,让开发者不写代码即可做游戏。此外,CocoStudio v2.0版本也在紧锣密鼓地进行中,将实现跨平台,计划支持JS与LUA绑定,规划于今年底前发布。

本次,CocoStudio还新增了基于Eclipse的跨平台Code IDE ,专为 Cocos2d-x Lua & JavaScript 开发人员准备。通过Cocos IDE,可方便地创建游戏工程、编写并且调试代码、实时查看代码修改效果、最终直接发布成一个可上架的安装包。

在广大开发者与contributor的支持与陪伴下,Cocos2d-x已经成为全球在手机游戏开发商及独立开发者中占有率最高的游戏引擎,在过去30年中,中国没有第二个团队在基础产品及技术上在全球获得如此高的接受度与占有率。

本次v3.0正式版本将致力打造一个新的里程碑,近期将陆续举办各种开发者回馈活动,敬请期待!

Cocos2d-x v3.0:下载地址

中文版Release note:点击查看

Cocos IDE入门指南:点击查看

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:新里程碑:Cocos2d-x v3.0 正式版本发布!
分享
评论(11)
最新评论
0

只会Unity3D。。。先学一下Lua好了

0

cpp应该是用的不少,其他的特性都还没了解过

0

lua还是竞争不过js.
不过现在估计纯cpp版应该占很大一部分吧.

0

Lua支持这一块,如果要做的很原生,感觉cocos2dx的内存管理的地方要大改。那天在沙龙提问了,官方表示这块确实不好弄 :(。因为本来设计的时候没考虑到脚本支持,现在要加,确实坑了点。

0

引用来自“DogFeet”的评论

Lua的绑定太过奇葩,与Lua本身范式很多违和的地方。cc.Node:create()而不是cc.Node.create().
tolua++绑定规则复杂,且没人维护,已经不够通用,2dx官方更改后虽然可用,但是很违和。
CocoStudio简直就是反人类,不知道那些用它的公司是如何把游戏做出来的。
ccs推荐一个UI一个界面,但是UI部分是有很多需要复用的组件单独制作一个UI,然后其他UI再组合这个UI形成更复杂的UI,后续修改,维护起来也更方便,这种起码的范式,ccs竟然不支持- -。

用cocostudio的团队应该很少。前两天沙龙的时候,根据抽样调查,目测不到10%吧。
0

Lua的绑定太过奇葩,与Lua本身范式很多违和的地方。cc.Node:create()而不是cc.Node.create().
tolua++绑定规则复杂,且没人维护,已经不够通用,2dx官方更改后虽然可用,但是很违和。
CocoStudio简直就是反人类,不知道那些用它的公司是如何把游戏做出来的。
ccs推荐一个UI一个界面,但是UI部分是有很多需要复用的组件单独制作一个UI,然后其他UI再组合这个UI形成更复杂的UI,后续修改,维护起来也更方便,这种起码的范式,ccs竟然不支持- -。

0

引用来自“雲瑜”的评论

每新建一個工程便自動複製一份源碼,真搞不懂為啥要這樣

我以前也觉得不好,但是后来我觉得这样设计是合理的,每个工程互不依赖, 工程文件夹挪个地方也没事。引擎版本更新了也不影响。
0

每新建一個工程便自動複製一份源碼,真搞不懂為啥要這樣

0

配图已右键另存为……

0

这个。。。。。。。。。。。。

0

前几天刚下完beta版。。。又要重新下了

顶部