quick-cocos2d-x 导出 C/C++ API 给 Lua 使用
2014-03-31 13:47
477 查看
最近因为需要使用quick-cocos2d-x ,很想使用以前自己用c++写的代码。学着来将C++的接口导出给Lua用,哎,因为个人水平问题一直有问题。用了两天时间才搞好。
参考:http://cn.quick-x.com/?p=235 和 http://www.codeo4.cn/archives/746
一直卡在最后步:官网的说得有点不清楚,最后自己查看源代码仿照来做,才发现问题所在。
官网最后步
打开我们的项目,将 MyClass_luabinding.cpp 和 MyClass_luabinding.h 文件加入工程。然后修改 AppDelegate.cpp 文件:
在 AppDelegate.cpp 头部区域添加:
在 AppDelegate::applicationDidFinishLaunching() 函数内添加:
注意这一行代码应该添加在其他 luaopen 函数后面,例如:
应该将我们的代码追加到 tolua_extensions_ccb_open() 后面。
经过上述修改后,重新编译运行项目应该就可以在 Lua 脚本中使用我们导出的 MyClass 对象极其方法了。
注意红色字:重新编译运行。找到自己新建的项目sources目录将你 MyClass_luabinding.cpp 和 MyClass_luabinding.h ,和MyClass.h ,MyClass.cpp 全放到里面。找到proj.ios目录打开xcode ,编译。如果有错就将上面四个文件添加到你编译环境里。
参考:http://cn.quick-x.com/?p=235 和 http://www.codeo4.cn/archives/746
一直卡在最后步:官网的说得有点不清楚,最后自己查看源代码仿照来做,才发现问题所在。
官网最后步
载入 luabinding 接口文件
打开我们的项目,将 MyClass_luabinding.cpp 和 MyClass_luabinding.h 文件加入工程。然后修改 AppDelegate.cpp 文件:在 AppDelegate.cpp 头部区域添加:
#include "MyClass_luabinding.h"
在 AppDelegate::applicationDidFinishLaunching() 函数内添加:
luaopen_MyClass_luabinding(L);
注意这一行代码应该添加在其他 luaopen 函数后面,例如:
// register lua engine CCLuaEngine *pEngine = CCLuaEngine::defaultEngine(); CCScriptEngineManager::sharedManager()->setScriptEngine(pEngine); CCLuaStack *pStack = pEngine->getLuaStack(); lua_State* L = pStack->getLuaState(); // load lua extensions luaopen_lua_extensions(L); // load cocos2dx_extra luabinding luaopen_cocos2dx_extra_luabinding(L); // thrid_party luaopen_third_party_luabinding(L); // CCBReader tolua_extensions_ccb_open(L); // MyClass luaopen_MyClass_luabinding(L);
应该将我们的代码追加到 tolua_extensions_ccb_open() 后面。
经过上述修改后,重新编译运行项目应该就可以在 Lua 脚本中使用我们导出的 MyClass 对象极其方法了。
注意红色字:重新编译运行。找到自己新建的项目sources目录将你 MyClass_luabinding.cpp 和 MyClass_luabinding.h ,和MyClass.h ,MyClass.cpp 全放到里面。找到proj.ios目录打开xcode ,编译。如果有错就将上面四个文件添加到你编译环境里。
相关文章推荐
- Quick-Cocos2d-x 使用tolua工具导出C++的类给Lua调用
- Quick-Cocos2d-x 使用tolua工具导出C++的类给Lua调用
- Quick-Cocos2d-x 使用tolua工具导出C++的类给Lua调用
- Quick-Cocos2d-x 2.26 使用tolua工具导出C++的类给Lua调用WINDOWS篇
- Quick-Cocos2d-x 使用tolua工具导出C++的类给Lua调用
- Quick-Cocos2d-x 使用tolua工具导出C++的类给Lua调用
- Quick-Cocos2d-x 使用tolua工具导出C++的类给Lua调用
- 【Quick-COCOS2D-X 3.3 如何绑定自定义类至Lua之四】使用绑定C++至Lua的自定义类
- 如何导出 C和C++ 的API 给 Lua 使用
- quick3.3使用tolua工具导出C++到lua所遇问题记录
- 导出 C/C++ API 给 Lua 使用
- 导出C/C++API给Lua使用
- 在 quick-cocos2d-x 中导出 CCFileUtils::getFileData 给Lua使用
- 导出 C/C++ API 给 Lua 使用
- 导出 C/C++ API 给 Lua 使用
- 导出 C/C++ API 给 Lua 使用[转]
- Quick-Cocos2d-x 3.3绑定自定义类至Lua(四)使用绑定C++至Lua的自定义类
- 导出 C/C++ API 给 Lua 使用(转)
- 导出 C/C++ API 给 Lua 使用
- 【Quick-COCOS2D-X 3.3 怎样绑定自己定义类至Lua之四】使用绑定C++至Lua的自己定义类