2014年1月8日,加盟触控麾下的Cocos2d-iPhone第一作者Ricardo Quesada带领Cocos团队,正式完成Cocos2d-x 3.0 Beta版的更新与发布。在之前Alpha版“更快速”、“更易用”、“更智能”的三大优化基础之上,Beta版Cocos2d-x 3.0 从多个方面进一步优化了引擎的便捷易用性。
在架构方面,New Renderer合并至Develop分支,实现了引擎的逻辑代码与渲染代码的分离,实现了Auto Batch与Auto Culling功能;在GUI方面,完善了New Label,支持描边、阴影、glow等效果,可完全取代LabelTTF和LabelBMFont,New Label使用Freetype绘制,可做到各平台效果相同,并且使用缓存策略,使得效率得到进一步提高;在物理集成方面,物理引擎集成增加了更多的关节类型,方便开发更加复杂、效果更炫的物理类游戏。
许多开发者在各大论坛中询问Cocos2d-x 3.0的最近进展,Cocos2d-x作者王哲答曰:“我们对3.0目前的API设计比较满意了,这次大幅度修改是因为Ricardo过来做首席架构师之后,他认为应该断开和Cocos2d-iPhone的同步,抛弃objective-c风格来发展Cocos2d-x。关于接口的命名以及参数列表方面,Ricardo主导3.0之后改掉很多,我个人觉得他确实设计得更好。”
以下为Cocos2d-x 3.0 Beta版在功能上的一些优化:
首先,Beta版新增了Console模块,可实现远程调试。在PC上连接5678端口,即可连接应用程序,输入对应的命令进行调试功能。目前已实现"fps on"、"fps off"、"scene graph"、"help"、"exit"等命令,开发者还可继承Console类添加自己的调试命令。
其次,新版本中的脚本(tools/project-creator/create_project.pyw)创建工程可使用UI图形界面来操作,并且,新建的工程支持创建到任意一个目录。
同时,引擎使用模板重新实现引擎的容器类,增加了Schedule::performFunctionInCocosThread(std::function<>),方便在非gl线程调用引擎代码或者OpenGL ES命令。AssetsManager采用此方法后,减少了代码量,使得代码编写更优雅,效率更高。
众所周知,一个手游成功与否,立项为核心,目前已经有不少团队使用Cocos2d-x 3.0开发项目并取得斐然的成绩。本次Cocos2d-x 3.0 的Beta版更新为春节前的最后一次更新,有利于开发者在新一年项目立项时,选择游戏的定位方向与引擎采用。2014年2月份Cocos团队将发布Cocos2d-x 3.0 正式版,吸取广泛意见与建议,以更好的产品、更好的服务助力开发者,打造更多的精品手游。