Cocos2dx 3.4 BabeLua 3.0.1.0 Windows下lua环境配置

Cocos2dx BabeLua3.0.1.0 Windows下lua环境配置

@author 路人
@time 2015.08.24
@updateTime none

@reference  http://www.cocoachina.com/bbs/read.php?tid-205043-page-1.html
@reference  http://blog.csdn.net/babestudio/article/details/27228865

这篇文章用于VS 2013里cocos2dx_lua环境的搭建,包含VS里BaBeLua插件的安装和使用.

  • 环境:

    win7 64位

    VS 2013

    BabeLua 3.0.1.0

    cocos2dx 3.4

安装vs和下载插件

首先是安装VS 2013,到百度网盘下载BabeLua插件,双击BabeLua插件,即可安装运行.

然后重启VS,如果在工具栏上看到了LUA这一栏,则表示成功安装.如果重启VS时,提示安装失败,请尝试重新安装.


新建Lua项目

打开一个cocos2dx_lua win32 项目,解决方案在自己项目的中 frameworks\runtime-src\proj.win32目录中.

要配置Lua插件,要先运行当前项目,产生一个可执行程序,作为宿主程序.下面开始介绍如果配置和使用BabeLua插件.

提示:如果运行cocos2dx 3.4示例项目黑屏.请把下面代码加到AppDelegate 中的AppDelegate::applicationDidFinishLaunching()方法.

string strPath = CCFileUtils::getInstance()->getWritablePath();
vector<string> vtPath = CCFileUtils::getInstance()->getSearchPaths();

vtPath.push_back(strPath + "res/");
vtPath.push_back(strPath + "src/");
CCFileUtils::getInstance()->setSearchPaths(vtPath);

我用的BabeLua插件版本是3.0.1.0,相对于网络上介绍的2.1.4.0版本,使用更加简洁,界面稍有不同之处,功能是一样的.

选择工具栏LUA中的New Lua Project,会弹出下面的提示框,用于新建Lua项目.

这里写图片描述

上图分别设置:

  • Lua scripts folder:

    Lua文件目录,该目录下的所有Lua文件将在“Folder Explorer”中列出。

  • Lua exe path :

    调试时启动的exe文件路径,即自己运行项目产生的exe路径。

  • Working path

    启动“Lua exe”时,此参数作为启动进程的working directory参数。这栏会在你填写Lua exe path时,自动填充成Lua exe path的上级目录.需要手动设置成项目的根目录,比如我的是E:\workspace\TestLua,才能进行断点调试.

  • Command line

    启动调试时传递给“Lua exe”的命令行参数,不用填.
    但是要在入口main.lua中加入package.path = package.path .. “;src/?.lua”,才能进行断点调试代码.

  • Setting name

    本套参数名称。2.1.4设置多套参数名,但是3.0.1.0只能设置一个。

点击ok后,会自动新建一个Lua工程.

Lua项目出现


BabeLua的基本使用

  • 在Lua项目里可以对Lua脚本进行编辑;点击右键,有添加新建项用于添加Lua文件,也有删除菜单,和操作普通项目没有区别.

  • Lua语法高亮、语法检查、自动补全效果如下图.你选择一个变量后,相同名字的变量会语法高亮.当你打出cc.时,会进行代码提醒.右括号和冒号的自动补充,目前没有支持.

  • 代码提示的快捷键是ctrl+j,F12转到文件定义
  • Ctrl + K,Ctrl + D:格式化当前文件

代码提示

  • 添加cocos2dx自动补全词库.

    cocos2d-x词库下载

    选择下载需要的cocos2dx词库文件,放在【我的文档】【BabeLua】【Completion】目录下,重新启动VS即可。写cocos2dx 代码时,会进行智能提示.

  • 快速搜索关键字.按住Ctrl键同时双击要查找的关键字,编辑器会在当前Lua文件中进行搜索。
    按住Alt键同时双击要查找的关键字,编辑器会在所有Lua文件中进行搜索。也可以通过vs 菜单【Lua】【Views】【Search Result】打开“Search Result”窗口,输入要查找的关键字,会在全部Lua文件中进行搜索.


BabeLua调试

在调试模式下,控制台中输出lua日志,加下面代码到main.lua文件中


function babe_tostring(...)
    local num = select("#",...);
    local args = {...};
    local outs = {};
    for i = 1, num do
        if i > 1 then
            outs[#outs+1] = "\t";
        end
        outs[#outs+1] = tostring(args[i]);
    end
    return table.concat(outs);
end

local babe_print = print;
local babe_output = function(...)
    babe_print(...);

    if decoda_output ~= nil then
        local str = babe_tostring(...);
        decoda_output(str);
    end
end
print = babe_output;

做了这么多,要的就是这个调试功能,和调试C++代码一样.

首先要先运行项目,产生exe文件(之前已经提过).然后把生成的Lua项目设置成启动项目,在Lua文件中添加断点.然后按F5启动项目,等待进入断点,效果图如下:

断点

按F9增加和删除断点,F10逐过程,F11逐语句进行跟踪调试。

这个是调用堆栈

这里写图片描述

局部变量窗口什么 值都没有 得到,我目前是这样的.

这里写图片描述

每次我都只能把鼠标放在对应的局部变量上才能看到具体的信息. 或者用鼠标把cocos2d-x对象拖到“监视”窗口中查看.
这个我觉得很不方便,让人难受

BabeLua问题汇总

链接

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值