cocos2d-x + Lua(2) C++和lua数据通讯之间的互调

来源:未知 责任编辑:责任编辑 发表时间:2014-05-10 12:17 点击:
1,C++如何获取Lua里面的一个变量值? p> 

p>2,C++如何获取Lua里面一个Table(Lua利用Table实现面向对象,那就能调用Lua里面的比较高级的引用方法)

p> 

p>3,C++如何访问Lua里面的一个方法?

p> 

p>4,C++如何访问Lua里面的一个带参数的方法?

p> 

p>5,C++如何访问Lua里面的一个带参数的方法并且带返回值?

p> 

p>如果以上问题都解决了,基本能满足我们游戏开发中遇到的数据通信的问题;

p> 

p>我整合了HIMI哥哥这篇教程里面的思路,重构了一下,定义出了更好用的C++/lua数据通讯类库;

p> 

p>http://blog.csdn.net/xiaominghimi/article/details/8816887

p> 

p>下面我直接贴函数了,大家自取:

p> 

p>PublicSendLuaData.h

p> 

p>复制代码

p>//  PublicSendLuaData.cpp

p>//

p>//  Lua and C++/C 交互类

p> 

p>#ifndef __PublicSendLuaData__

p>#define __PublicSendLuaData__

p> 

p>#include "cocos2d.h"

p>using namespace cocos2d;

p>using namespace std;

p> 

p>extern "C" {

p>#include "lua.h"

p>#include "lualib.h"

p>#include "lauxlib.h"

p>};

p> 

p>class PublicSendLuaData{

p>public:

p>    

p>    static PublicSendLuaData* getInstance();

p>    

p>    /*

p>     直接获取Lua中得变量名值

p>     文件名 luaFileName

p>     变量名 varName

p>     */

p>    const char* getLuaVarString(const char* luaFileName,const char* varName);

p>    

p>    /*

p>     获取Lua中一个表中得节点名,甚至方法

p>     文件名luaFileName

p>     方法名varName

p>     节点名

p>     */

p>    const char* getLuaVarOneOfTable(const char* luaFileName,const char* varName,const char* keyName);

p>    

p>    /*

p>     调用Lua全局Table

p>     lua文件名luaFileName

p>     table变量名varName

p>     */

p>    const char* getLuaVarTable(const char* luaFileName,const char* varName);

p>    

p>    /*

p>     带参数有返回

p>     文件名luaFileName

p>     方法名functionName

p>     参数序列arraypar

p>     参数类型arraypartype

p>     */

p>    const char* callLuaFuncParReturn(const char* luaFileName,const char* functionName,CCArray* arraypar,CCArray* arraypartype);

p>    

p>    /*

p>     带参数无返回

p>     文件名luaFileName

p>     方法名functionName

p>     参数序列arraypar

p>     参数类型arraypartype

p>     */

p>    const void callLuaFuncPar(const char* luaFileName,const char* functionName,CCArray* arraypar,CCArray* arraypartype);
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • cocos2d-x学习笔记(19)--label 、label atlas
  • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
  • Cocos2d-x学习(一):HelloWorld
  • cocos2dx在xcode下开发,编译到android上(2)
  • cocos2d 设置屏幕默认方向
  • Cocos2d-x 2.0 之 Actions “三板斧” 之一
  • cocos2d-x学习笔记(22)--地图的使用2(TMX) --Z-Order、AnchorPoi
  • cocos2d-x学习笔记(18)--游戏打包(windows平台)
  • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1