使用cocos2dx-LuaProxy便捷Lua项目快速使用cocos2dx引擎extensions扩展包
来源:互联网 发布:广告相册制作软件 编辑:程序博客网 时间:2024/06/06 05:31
首先很多童鞋可能对于 cocos2dx-LuaProxy 不太熟悉,那么Himi简单的一句话进行叙述:
cocos2dx-LuaProxy 的作用主要是让cocos2dx引擎的扩展包(extensions)binding到Lua,便于做cocos2dx-lua项目开发者们。
这里先附上cocos2dx-LuaProxy下载地址:https://github.com/shawnclovie/cocos2dx-LuaProxy
仔细的童鞋可以明显的看出cocos2dx-LuaProxy最新一次的更新与本篇文章发布时间是不超过两个小时的,说这个,不是说cocos2dx-LuaProxy是Himi做的,而是想说的是:
Himi在使用cocos2dx-LuaProxy遇到了虚函数问题导致cocos2dx-LuaProxy不能在本人i的Xcode中正常编译, 恰巧的是刚刚跟cocos2dx-LuaProxy的作者交流过,其作者修正了一版!
废话不说了,下面详细介绍如何在cocos2dx-lua项目中通过cocos2dx-LuaProxy使用cocos2dx引擎扩展extensions包。
下载 cocos2dx-LuaProxy 解压后如下图:
继续看下面的cocos2dx引擎的extensions扩展包的目录截图,通过对比目录大家可以看的很清楚 cocos2dx-LuaProxy为我们做了哪些工作。
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点半多了,准备准备要睡觉了,安。
- lua教程九---使用cocos2dx-LuaProxy便捷Lua项目快速使用cocos2dx引擎extensions扩展包
- 使用cocos2dx-LuaProxy便捷Lua项目快速使用cocos2dx引擎extensions扩展包
- 【COCOS2DX-LUA 脚本开发之九】使用cocos2dx-LuaProxy便捷Lua项目快速使用cocos2dx引擎extensions扩展包
- 【COCOS2DX-LUA 脚本开发之九】使用cocos2dx-LuaProxy便捷Lua项目快速使用cocos2dx引擎extensions扩展包
- 【COCOS2DX-LUA 脚本开发之九】使用cocos2dx-LuaProxy便捷Lua项目快速使用cocos2dx引擎extensions扩展包
- cocos2dx是怎么使用lua引擎的
- 【COCOS2DX-LUA 脚本开发之八】使用quick-cocos2d-x或cocos2dx-LuaProxy的Lua框架实现Lua-Http网络交互!
- cocos2dx 创建lua项目 scheduler使用
- cocos2dx-lua sqlite3使用
- cocos2dx引擎中lua使用加密sqlite数据库
- [cocos2dx]cocos2dx3.x+lua中使用物理引擎
- cocos2dx使用lua和protobuf
- cocos2dx使用lua和protobuf
- cocos2dx使用lua和protobuf
- cocos2dx使用lua和protobuf
- cocos2dx使用lua和protobuf
- Cocos2dx-lua安装并使用
- cocos2dx lua 3.10 使用cjson
- LeetCode-Sum Root to Leaf Numbers
- asp.net 未知的服务器标记“asp:ScriptManager 解决方法
- 孤獨的樹
- code::blocks打造自己的开发环境
- Hybrid模式-利用AssetsManager实现在线更新脚本文件lua、js、图片等资源(免去平台审核周期)
- 使用cocos2dx-LuaProxy便捷Lua项目快速使用cocos2dx引擎extensions扩展包
- 利用Lua强转函数解决使用CCNode报错或无法正常使用以及简单介绍 quick-cocos2d-x 与 OpenQuick 两款Lua免费开源框架
- Lua 使用OOP(面对对象思想编程),免Binding创建自定义lua类
- Android系列--DOM、SAX、Pull解析XML
- 使用tolua++编译pkg,从而创建自定义类让Lua脚本使用
- 命令行下创建 Android 工程,用 Ant 进行编译部署
- 类型转换
- C++ time(NULL) 计算持续的时间长度
- 如何优化cocos2d/x程序的内存使用和程序大小