基于 Cocos2d-x-lua 的游戏开发框架 Dorothy 简介

基于 Cocos2d-x-lua 的游戏开发框架 Dorothy 简介

概述

Dorothy 是一个在 Cocos2d-x-lua 基础上发展起来的分支, 它去掉 Cocos2d-x-lua 那些过多的扩展, 而且作了必定程度的优化, 目前提供了如下4种编辑器:android

  • Action Editor: 2D骨骼动画编辑器
  • Body Editor: 物理编辑器
  • Effect Editor: 特效编辑器(目前只有粒子系统编辑器)
  • Scene Editor: 场景编辑器(用于组织游戏逻辑)

它支持 Windows/OSX/iOS/Android 多个平台, 一方面用它生成的程序能够跨平台部署, 另外一方面它自己也能够跨平台部署, 本文后面会演示如何编译 OSXiOS 下的 Dorothy.ios

下面是做者对软件的说明:git

Dorothy是Cocos2d-x-Lua的另外一个分支,基于原始版本2.1rc0版再次开发的框架。之因此开始在这个版本上作自定义的开发,是由于我在跟随原版的更新,持续作开发的过程当中,发现它的功能渐渐变得又多又杂,吸纳了各式各样的扩展,光是骨骼动画的扩展就重复增长了两套代码。而且它的扩展的开发我以为定制得也不够深刻,除了引入更多bug坑之外,并无简化太多的开发工做。此外原版的Lua接口是几乎彻底依赖tolua++自动生成的,导出了不少没有意义的接口,并生成不少冗余的绑定代码,而且tolua++的绑定机制也太过于通用化,没有很好地利用Cocos2d-x的特性。框架

  因此一方面为了精简核心框架,另外一方面又提供更加深度定制的辅助框架,优化Lua绑定代码,我渐渐地居然写出了这样一个分支版原本。编辑器

  这个分支提供了更加精简的API接口。移除了原版中不是特别核心的扩展功能,添加了更有用的特性,修复了原版的一些bug,而且改善了Lua绑定的核心代码和tolua++生成的绑定代码。优化

更详细的介绍能够参考做者的博客 Dorothy是什么动画

下载编译

克隆代码

Dorothy 所有开源, 代码托管在开源中国的码云平台 Dorothy, 能够经过以下命令来克隆到本地:ui

git clone https://git.oschina.net/pig/Dorothy

操做记录以下:lua

Air:GitHub admin$ git clone https://git.oschina.net/pig/Dorothy
Cloning into 'Dorothy'...
remote: Counting objects: 18984, done.
remote: Compressing objects: 100% (9631/9631), done.
remote: Total 18984 (delta 12342), reused 14253 (delta 8531)
Receiving objects: 100% (18984/18984), 74.15 MiB | 306.00 KiB/s, done.
Resolving deltas: 100% (12342/12342), done.
Checking connectivity... done.
Checking out files: 100% (1783/1783), done.
Air:GitHub admin$
  • 注意: 克隆地址要写成 https:// 的形式, 不然会出错

执行编译前脚本

接着要执行一下 ./Dorothy/tools/tolua++ 目录下的 build.sh 命令, 以便生成编译所须要的 LuaCode.cppLuaBinding.cpp 文件, 操做记录以下:.net

Air:tolua++ admin$ ./build.sh 
Binding files generated!
Air:tolua++ admin$ pwd
/Users/admin/GitHub/Dorothy/tools/tolua++

编译

项目文件保存在 ./Dorothy/project 目录下, 以下所示:

Air:Dorothy admin$ cd project/
Air:project admin$ pwd
/Users/admin/GitHub/Dorothy/project
Air:project admin$ ls -al
total 16
drwxr-xr-x   9 admin  staff   306  7 18 14:10 .
drwxr-xr-x  25 admin  staff   850  7 18 14:10 ..
-rw-r--r--@  1 admin  staff  6148  7 18 18:55 .DS_Store
drwxr-xr-x   4 admin  staff   136  7 18 14:06 Classes
drwxr-xr-x  11 admin  staff   374  7 18 15:33 Resources
drwxr-xr-x  17 admin  staff   578  7 18 14:06 proj.android
drwxr-xr-x  12 admin  staff   408  7 18 14:18 proj.ios
drwxr-xr-x   5 admin  staff   170  7 18 14:11 proj.mac
drwxr-xr-x  10 admin  staff   340  7 18 14:06 proj.win32
Air:project admin$

其中 proj.iosproj.mac 就是咱们本次打算编译的, 用 XCode 7.3.1 打开项目文件, 直接编译便可, 在编译 proj.ios 时若是链接了真机而且选择了它则能够把生成的目标文件安装到真机上, 这样你就能够在 iPad 上运行 Dorothy 了.

  • 注意: 在编译 proj.ios 时请把 XCodeBuild Setting 中的 bitcode 选项关闭, 不然会由于一个第三方库文件 ./lua/lib/ios/libluajit.a 没有支持 bitcode 而致使连接错误.

运行界面

主界面:

截图:

输入图片说明

最上面一行是4个编辑器

中间是用 Dorothy 生成的一些例子

Action Editor

截图:

输入图片说明

Body Editor

截图:

输入图片说明

Effect Editor

截图:

输入图片说明

Scene Editor

截图:

输入图片说明

如今完成度比较高的是 Action Editor, Body EditorScene Editor, Effect Editor 中还有一个帧动画模块没完成.

通过一番研究, 终于明白如何作骨骼动画了, 下一篇介绍如何用 Action Editor 生成一个2D骨骼动画.

参考

感谢软件做者提供的帮助

Dorothy官方文档

相关文章
相关标签/搜索