博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【COCOS2DX-LUA 脚本开发之九】cocos2dx-LuaProxy扩展extensions包
阅读量:7282 次
发布时间:2019-06-30

本文共 1727 字,大约阅读时间需要 5 分钟。

 

本站文章均为原创,转载务必在明显处注明:(作者新浪微博:

转载自 原文链接:  

 本博客最新动态!及时将最新博文通知您!


                 

 
 

 

首先很多童鞋可能对于 cocos2dx-LuaProxy 不太熟悉,那么Himi简单的一句话进行叙述:

cocos2dx-LuaProxy 的作用主要是让cocos2dx引擎的扩展包(extensions)binding到Lua,便于做cocos2dx-lua项目开发者们。

这里先附上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 中讲的很详细了,如下:

 

 
  1. 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实例后进行添加如下代码:

 

 
  1. CCLuaStack *pStack = pEngine->getLuaStack(); 
  2.     lua_State* L = pStack->getLuaState(); 
  3.     luaopen_LuaProxy(L); 
 

如下图:

    注意:当载入使用ccbi时需要首先创建一个CCBProxy,你需要先创建一个CCBProxy! 

 

 
  1.    
  2. local proxy = CCBProxy:create() 
 

下面我们书写lua测试代码,来测试cocos2dx-LuaProxy 的其中一个对HttpClient功能扩展:

 

 
  1. -- Get 
  2.         CCHttpRequest:open("https://google.com/search?q=LuaProxy&safe=strict", kHttpGet):sendWithHandler
  3.         function(res, hnd) 
  4.         print(res:getResponseData(), res:getResponseCode()) 
  5.         end
 

控制台输出:

 

好啦,2点半多了,准备准备要睡觉了,安。 :yl:

 

你可能感兴趣的文章
Hierarchical or taxonomy data filter
查看>>
PHP写入TXT文件函数
查看>>
虚拟机创建GentOS 64以及安装的操作步骤
查看>>
Failed to execute goal on project dubboxdemo-servi
查看>>
成为一名Java架构师的必修课
查看>>
年薪50W+的网络安全人才需要具备哪些条件?
查看>>
php短信接口,免认证限制少的接口,手机短信,短信验证码
查看>>
linux 命令
查看>>
Go Timer实现原理剖析(轻松掌握Timer实现原理)
查看>>
django 内置标签和过滤器
查看>>
mysql主从复制
查看>>
C++多态的概念
查看>>
关于中文乱码问题的一些解决方案和经验
查看>>
Cisco 交换机命令全集
查看>>
Why Namespace? - 每天5分钟玩转 OpenStack(102)
查看>>
review what i studied `date` - 2017-4-19
查看>>
linux系统中如何查看日志 (常用命令)
查看>>
Java IO与NIO 学习
查看>>
SSH登录的时候显示一些实用信息
查看>>
CentOS 7 安装 MySQL
查看>>