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

来源:互联网 发布:湛江 知乎 编辑:程序博客网 时间:2024/05/16 15:45

怎么没有整合到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 游戏开发引擎。

 

0 0