您的位置:首页 > 移动开发 > Cocos引擎

惊天发现,cocos2d居然有个开源的lua框架,作者怎么这么低调?

2014-02-25 13:42 896 查看
怎么没有整合到cocos2d-x2.2.2中??

quick-cocos2d-x 2014年计划的重点有三项:

在Lua/JS层面搭建统一接口的框架
创建适合脚本语言开发者的场景和UI编辑器
创建包含完整功能的游戏demo

脚本框架

目前 cocos2d-x 的 jsbinding 和 luabinding 只是简单的将 C++ 接口导出到脚本语言中。从开发者角度来看,使用脚本和使用 C++ 没有太大区别。这让脚本开发者的学习门槛变高,同时也降低了生产力。

jsbinding 和 luabinding 存在的主要问题就是与脚本语言的使用风格、习惯不符,并没有充分利用脚本语言的优势。所以在脚本层面创建框架非常有必要:

将所有 C++ 和脚本交互的接口重新封装为符合脚本语言风格的接口
将 C++ 的各种工厂方法和静态接口分类整理到不同的全局模块中
用脚本或脚本扩展代替 C++ 中的同类功能

经过这样封装后,对于脚本开发者来说大大降低了学习门槛,开发效率也能得到明显提高。

2014 年,Lua 框架会继续完善,并在升级到 cocos2d-x 3.x 时采用更规范的命名风格和接口定义。届时,会开发 quick-cocos2d-x 的 JS 版,并在保证 JS 开发习惯的前提下,保持和 Lua 框架统一的接口。

UI库和编辑器

虽然 CocoStudio 从目前的情况看已经逐渐被用户认可。但因为 CocoStudio 是基于 cocos2d-x C++ UI 库开发的,所以对于脚本开发者来说并不容易使用,而且也无法做扩展。因此,我认为需要推出使用纯脚本开发的 UI 库,以及相应的编辑器。

对于这个编辑器,主要目标为:

提供场景编辑功能
提供UI界面编辑功能
支持组件化特性,允许开发者创建可复用的组件
编辑器提供开放接口,支持开发者创建的自定义UI组件
编辑器提供开放接口,支持开发者对编辑器进行扩展
编辑器将基于 Qt 实现跨平台 UI,以 Lua 作为开发语言

与 CocoStudio 相比,这个编辑器没有动画、粒子编辑等功能,只专注于场景编辑和UI布局。但由于提供了开放接口,开发者使用脚本就可以对编辑器进行扩展,所以未来加入更多功能也可以考虑。

包含完整功能的游戏demo

由于国内开发者的习惯,文本形式的文档不是最理想的学习和推广形式。所以 2014 年将以 quick 为基础开发一些完整功能的游戏demo,暂定的游戏类型是ARPG和动作游戏。

这些demo都会包含完整的设计文档、源代码、资源文件等,对于中小团队来说,完全可以在这些demo基础上直接开发自己的同类型游戏。

2014 年开发计划

以每季度为时间长度,开发计划如下:

2014-Q1 重点:框架、UI库、编辑器

框架:整合 cocos2d-x 2.x 分支最新版本,并在 luabinding 的基础上完善 Lua 支持。包括对 CocoStudio, CocosBuilder 等编辑器的支持。
UI库:完成所有UI组件。
编辑器:发布编辑器测试版,包括场景编辑和基本的UI布局功能。
文档:完成全部 API 文档

2014-Q2 重点:框架、编辑器、demo

框架:升级到 cocos2d-x 3.x 分支,并推出 JS 版框架。
编辑器:完成全部功能,发布正式版。
demo:完成一个游戏demo。
文档:继续完善文档,并开始提供视频教程
工具:强化 player、自动化脚本等。

2014-Q3 重点:编辑器、demo、第三方 SDK 集成

编辑器:完全状态,并支持 JS 框架,同时公布开放接口及其文档。
demo:完成一个游戏demo。
工具:将自动化工具整合到编辑器中,逐步将编辑器转型为 IDE。
第三方SDK集成:在脚本层面提供各种 SDK 的统一接口,并以插件形式发布。

2014-Q4 重点:编译器

编译器:能够将 Lua 编译为 JS,方便开发者移植 Lua 游戏到 HTML5 平台。
demo:继续完善前面两个demo。
工具:继续完善工具链。

计划外,会尝试开发新的 luabinding 机制,彻底抛弃现在使用的 tolua++。如果成功,那么 quick-cocos2d-x 在脚本层面将达到一个新的高度,一定能成为最容易使用的 2D 游戏开发引擎。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: