QuickCocos2dxV3是我本地quickv3.3的目录。
一、下载DragonBonesCPP工程文件(https://github.com/DragonBones/DragonBonesCPP)
解压DragonBonesCPP-refactoring.zip
copy dragonbones to QuickCocos2dxV3\cocos\editor-support
二、下载tolua工具包(bindings-generator-4-develop.zip 和 cocos2d-console-3.zip)
解压bindings-generator-4-develop.zip copy目录(bindings-generator-4-develop)下所有文件到QuickCocos2dxV3\tools\bindings-generator
解压cocos2d-console-3.zip copy目录(cocos2d-console-3)下所有文件到QuickCocos2dxV3\tools\cocos2d-console
三、tolua工具中增加DragonBones的配置
打开文本文件:QuickCocos2dxV3\tools\bindings-generator\targets\lua\conversions.yaml
配置ns_map
"dragonBones::": "db."
添加dragonbones.ini
to_native:
添加LUA_FUNCTION : "${out_value} = toluafix_ref_function(tolua_S,${arg_idx},0);ok &= ${out_value} != 0;"
生成lua绑定
在命令行中运行QuickCocos2dxV3\tools\tolua/genbindings.py
如果命令行显示:Generating lua bindings succeeds.
你到QuickCocos2dxV3\cocos\scripting\lua-bindings\auto目录下查看,会增加如下文件
lua_dragonbones_auto.hpp
lua_dragonbones_auto.cpp
四、VS编译player3
右击解决方案 => 添加 => 现有项目
\QuickCocos2dxV3\cocos\editor-support\dragonbones\renderer\cocos2d-x-3.x\proj.win32
添加预处理宏
对libDragonbones和liblua库添加预处理宏DRAGON_BONES_ENABLE_LUA=1。
右击 libDragonbones => 属性 => 配置属性 => C/C++ => 预处理器 => 预处理定义 ,点击值后右边会有个下拉框,选择编辑,添加DRAGON_BONES_ENABLE_LUA=1并确认。
向libluacocos2d库中添加两条搜索路径
右击 libluacocos2d => 属性 => 配置属性 => 常规 => 附加包含目录,点击值后右边会有个下拉框,选择编辑,添加下面的搜索路径并确认。
$(EngineRoot)cocos\editor-support\dragonbones
$(EngineRoot)cocos\editor-support\dragonbones\renderer\cocos2d-x-3.x
注册libDragonbones到liblua
右键libluacocos2d/auto => 添加 => 现有项..
E:\Cocos2dx\QuickCocos2dxV3\cocos\scripting\lua-bindings\auto
lua_dragonbones_auto.hpp
lua_dragonbones_auto.cpp
向CCLuaStack.cpp(QuickCocos2dxV3\cocos\scripting\lua-bindings\manual\CCLuaStack.cpp)中添加#include "lua_dragonbones_auto.hpp"头。
向bool LuaStack::init(void)函数中添加register_all_dragonbones(_state);。
生成解决方案,会生成QuickCocos2dxV3\quick\player\proj.win32\Debug.win32\player3.exe