在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在进入主题之前先推荐一本 Lua图书把 http://book.luaer.cn/ 在线看的 感觉还不错 可以当工具书用 其实在cocos2dx中 已经再带了 一个cocos2dx - Lua的模版 听说自带的Lua不足够的稳定 所以就自己搭一个了 1.下载必要软件 Lua 我下载的是Lua 5.1.4 感觉网上 5.2 资源不是很多 所以没用 2.编译 配置 Lua 到 cocos2d 把Lua 进行 编译 会得到 lua51.lib lua51.dll lua5.1.lib 三个文件 (三个文件的得到方法 发附件 有机会我在附上 编译过程) 将这三个 文件放到 G:\cocos2d-2.0-rc2-x-2.0.1\Debug.win32 下 然后 项目右键->属性->配置属性->连接器->输入->附近依赖项->编辑->在上面的输入框中输入 lua5.1.lib ->确定 然后到 lua 的src 目录下 去寻找 这四个文件 lauxlib.h lua.h luaconf.h lualib.h 把它们放到项目中 3.编写lua的调用 文件 HelloLua.h HelloLua.cpp 代码如下: HelloLua.h 1 #pragma once 2 3 extern "C" { 4 #include "lua.h" 5 #include "lualib.h" 6 #include "lauxlib.h" 7 } 8 9 using namespace std; 10 class HelloLua 11 { 12 lua_State* L; 13 public: 14 HelloLua(void); 15 void loadLua(); 16 virtual ~HelloLua(void); 17 }; HelloLua.cpp 1 #include "HelloLua.h" 2 #include <iostream> 3 #include "cocos2d.h" 4 5 USING_NS_CC; 6 7 8 HelloLua::HelloLua(void) 9 { 10 L=0; 11 } 12 13 void HelloLua::loadLua(){ 14 15 L = lua_open();//初始化lua 16 luaopen_base(L);//载入lua库 17 luaL_openlibs(L); 18 19 //const char* filepath = path.c_str(); 20 const char* filepath = cocos2d::CCFileUtils::sharedFileUtils()->fullPathFromRelativePath("hello.lua"); 21 CCLog(filepath); 22 23 int nRet=luaL_dofile(L, filepath);//运行脚本 24 25 lua_gc(L, LUA_GCCOLLECT, 0); 26 if(nRet !=0){ 27 28 CCLog("%s",lua_tostring(L, -1)); 29 lua_pop(L, 0); 30 } 31 32 //lua_close(L); 33 34 } 35 36 HelloLua::~HelloLua(void) 37 { 38 } 然后在项目的Resources文件夹中 建立 hello.lua的文件 用记事本打开写一行代码 print 'Lua is load' 4.使用 Lua 我们到 AppDelegate.cpp中 在前面引入 文件 #include "HelloLua" 在HelloWorld 加载之前 加入这两行 38 HelloLua *_helloLua = new HelloLua(); 39 _helloLua->loadLua(); 然后运行 项目 会在控制台打印出 'Lua is load' 好了这篇教程 就到这里了 |
请发表评论