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);
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>