本站文章均为 李华明Himi 原创,转载务必在明显处注明:(做者新浪微博: @李华明Himi ) html
转载自【黑米GameDev街区】 原文连接: http://www.himigame.com/lua1/1322.html ☞ 点击订阅 ☜ 本博客最新动态!及时将最新博文通知您!git
首先不少童鞋可能对于 cocos2dx-LuaProxy 不太熟悉,那么Himi简单的一句话进行叙述:github
cocos2dx-LuaProxy 的做用主要是让cocos2dx引擎的扩展包(extensions)binding到Lua,便于作cocos2dx-lua项目开发者们。windows
这里先附上cocos2dx-LuaProxy下载地址:https://github.com/shawnclovie/cocos2dx-LuaProxyapp
仔细的童鞋能够明显的看出cocos2dx-LuaProxy最新一次的更新与本篇文章发布时间是不超过两个小时的,说这个,不是说cocos2dx-LuaProxy是Himi作的,而是想说的是:框架
Himi在使用cocos2dx-LuaProxy遇到了虚函数问题致使cocos2dx-LuaProxy不能在本人i的Xcode中正常编译, 恰巧的是刚刚跟cocos2dx-LuaProxy的做者交流过,其做者修正了一版!ide
废话不说了,下面详细介绍如何在cocos2dx-lua项目中经过cocos2dx-LuaProxy使用cocos2dx引擎扩展extensions包。函数
下载 cocos2dx-LuaProxy 解压后以下图:测试
继续看下面的cocos2dx引擎的extensions扩展包的目录截图,经过对比目录你们能够看的很清楚 cocos2dx-LuaProxy为咱们作了哪些工做。ui
OK,下面详细介绍如何使用 cocos2dx-LuaProxy:
第一步:将咱们解压后的 cocos2dx-LuaProxy文件下的 tolua 与ui文件夹加入咱们的项目中! 加入后,若是你当即使用Xcode进行build编译,会发现报错。(windows下应该不会),错误以下图:
经过错误信息能够清晰的看到是咱们刚导入的 cocos2dx-LuaProxy框架中UI包下的UIEventDispatcher类的问题, 解决方式 删除此UIEventDispatcher类,UIEventDispatcher.h 和 UIEventDispatcher.cpp都删除便可。
其缘由 cocos2dx-LuaProxy的README 中讲的很详细了,以下:
You may safety remove ui/UIEventDispatcher.cpp(and .h), it's just design for win32.
是的,UIEventDispatcher 只适用于win32,因此咱们尽管删除就对啦~而后再build编译就不会有问题了。
第二步:
首先在AppDelegate.cpp 中导入头luaopen_LuaProxy文件 :
#include “luaopen_LuaProxy.h”
另外继续在AppDelegate.cppd的applicationDidFinishLaunching函数中,在获取到CCLuaEngine实例后进行添加以下代码:
CCLuaStack *pStack = pEngine->getLuaStack(); lua_State* L = pStack->getLuaState(); luaopen_LuaProxy(L);
以下图:
注意:当载入使用ccbi时须要首先建立一个CCBProxy,你须要先建立一个CCBProxy!
local proxy = CCBProxy:create()
下面咱们书写lua测试代码,来测试cocos2dx-LuaProxy 的其中一个对HttpClient功能扩展:
-- Get CCHttpRequest:open("https://google.com/search?q=LuaProxy&safe=strict", kHttpGet):sendWithHandler( function(res, hnd) print(res:getResponseData(), res:getResponseCode()) end)
控制台输出:
好啦,2点半多了,准备准备要睡觉了,安。