• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

VS搭建lua开发环境和LuaBridge注册c++类(cocos2dx项目)(一)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

         由于项目使用Lua开发,最近在学习lua,所以就准备在vs下搭建lua的开发环境。项目使用LuaBridge为Lua绑定C++对象,这篇文章就把LuaBridge用法一起写进来了,下面开始正文。。。

步骤

1.生成Lua静态库(非cocos2dx项目下可以参考这篇文章http://www.fusijie.com/blog/2014/08/31/how-to-complie-cpp-with-lua-in-the-vs/

       (1)首先去Lua官网下载Lua,最新的应该是Lua 5.2.3  下载地址。下载下来之后,解压,放在一边待用。。。也可以去cocos2dx的源码里面获取,路径如下 E:\cocos2d-x-3.1.1\external\lua\lua

       (2)创建cocos2dx项目,右击解决方案添加新项目,选择win32控制台程序,确定,选择静态库,勾去预编译头,OK。。。如下图:

              

              (3).到liaLua目录下新建文件夹LuaSrc,把下载的lua代码拷贝进去。。。进入项目添加到libLua下,在配置属性->c/c++/预处理器定义下添加_CRT_SECURE_NO_WARNINGS,把输出目录设置成和其他静态库一样,生成,在LuaTest\proj.win32\Debug.win32目录下就有了一个libLua.lib静态库文件,至此,我们已经成功生成Lua静态库。

 2.添加LuaBridge到项目中,并注册对象

        ps:因为LuaBridge需要使用Lua,所以要给项目附加依赖项和附加包含目录,分别为:libLua.lib、$(EngineRoot)libLua

       (1).先下载LuaBridge源文件,LuaBridge文件 进入项目目录,添加文件夹LuaBridge,然后把下载好的文件添加进文件夹中。进入项目,添加文件夹LuaBridge,添加现有项,把LuaBridge中的文件添加到项目中,在代码中添加#include "LuaBridge/LuaBridge.h"头文件,测试OK,下面开始注册c++对象给lua使用

       (2).注册2个类测试使用UIManage和Widget类。先说如何注册Widget,需要添加几个库libGUI,libExtension,libCocostudio,自行添加。代码如下:

 

 1 bool HelloWorld::init()
 2 {
 3     //////////////////////////////
 4     // 1. super init first
 5     if (!Layer::init())
 6     {
 7         return false;
 8     }
 9 
10     m_luastate = luaL_newstate();
11     luaL_openlibs(m_luastate);
12     initScript();
13 
14 
15     return true;
16 }
17 
18 void HelloWorld::initScript()
19 {
20     getGlobalNamespace(m_luastate)
21 
22         .beginNamespace("game")
23 
24         .beginClass<Widget>("Widget")
25         .addFunction("getChildByTag",&Widget::getChildByTag)
26         .endClass()
27 
28         .endNamespace()
29 
30         ;
31 }
View Code

 

 OK,环境搭建和c++类注册介绍到这里,下篇开始写2个类,完成按钮事件注册。

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Lua-Nginx-Module常用指令+HTTP执行阶段常用API函数-nginx的uri匹配优先级 ...发布时间:2022-07-22
下一篇:
lua文件处理发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap