一 VS+babelua
1.下载安装quick-cocos2d-x, 推荐3.6.1
下载地址:http://cocos2d-lua.org/download/index.md
2.执行引擎根目录下的setup_win.bat设置环境变量
3.运行play3.exe 创建个项目并运行,此时虽然能执行但是没有生成可执行文件
4.使用VS2013打开项目目录frameworks\runtime-src\proj.win32下的.sln文件,编译运行工程,生成exe文件
接下来可以使用Visual Studio安装BabeLua插件或者Visual Studio Code安装Luaide插件两种方式调试Lua
(VS Code + Luaide)用的人更多,更主流
5a.安装VS2013(安装更高版本可能导致编译win32项目时出现编译错误)
VS2013 UPDATE5下载地址:http://download.microsoft.com/download/9/3/E/93EA27FF-DB02-4822-8771-DCA0238957E9/vs2013.5_ult_chs.iso?type=ISO
6a.下载安装BabeLua for 2013
BabeLua for 2013下载地址:https://pan.baidu.com/s/1sjmC169#list/path=%2F,安装好后重启VS2013
7a.新建个Lua项目,设置工程环境
注意New file encoding选项,其用来设置在VS的Lua项目中新建文件的编码格式,选项中有UTF8,UTF8_BOM和ANSI,通常使用UTF8,错误的格式可能会导致和中文有关的变量的值出现错误(亲自实测)
在创建文件时,通常有两种方式:
a.复制原来某个文件,然后改文件名和文件内容,这种方式新的文件的编码格式会和被复制的文件一致,不会用到New file encoding选项。
b.在VS菜单中New File,这种方式会将新文件的编码格式设置为New file encoding指定的格式(推荐,避免新文件产生编码格式引发的问题)。
查看文件编码格式方式:右键文件->Edit with Notepad++->Encoding
8a.设置断点,F5调试运行
二 VSCode+luaide(收费)
5b.安装VS Code
VS Code下载地址:https://vscode.cdn.azure.cn/stable/ea3859d4ba2f3e577a159bc91e3074c5d85c0523/VSCodeUserSetup-x64-1.52.1.exe
6b.在VS Code中下载luaide插件
若下载其他Lua插件需要保证只安装一个Lua插件
7b.将项目中src目录放置到vscode中, 复制调试文件LuaDebugjit到src下
(1)第一种方式是跟着luaide的向导操作,打开VSCode时会检测文件夹内是否有调试文件,如果没有就会弹出向导,选择复制到项目中->选择src文件夹->选择LuaDebugjit文件->选择后缀.lua
(2)在luaide的菜单中打开调试文件所在位置,将其手动复制到src下
8b.创建启动配置文件launch.json
9b.配置launch.json
只需要设置exe文件所在路径就可以了,其他都用默认的
commandLine可做一些特殊的设置,参数说明:
-workdir 设置项目目录,等同于 player Open Project 对话框中的 Project Directory
-file 设置启动脚本,等同于 Open Project 对话框中 Script File
-writable 设置 device.writablePath 对应的路径,未指定时为项目目录
-package.path 设置附加的 Lua 模块加载路径,格式为 “/mylualib1;/mylualib2;;”,用 “;” 分割多个路径,最后一个 “;” 表示 -workdir 所指目录
-resolution 设置模拟器的屏幕尺寸,格式为“宽度x高度”
-scale 设置模拟器的缩放比例,格式为 “1.0”,“0.5” 等数值
-write-debug-log 将调试信息写入 debug.log 文件,该文件存放于项目目录中
-disable-write-debug-log 禁止写入调试信息到 debug.log 文件
-console 显示调试信息控制台窗口
-disable-console 禁止调试信息控制台窗口
-load-framework 载入 QUICK_COCOS2DX_ROOT 环境变量所指 quick-cocos2d-x 目录中的预编译框架文件
-disable-load-framework 禁止载入预编译框架文件
-offset 启动时模拟器窗口的偏移位置,格式为 “{X偏移量,Y偏移量}”
10b.Ctrl+F5非调试运行游戏,解决找不到文件的坑(使用VS+BabeLua没遇到过,使用VSCode+luaide经常遇到,呕吐中)
A.运行游戏如果没有报错显示正确跳过这一步,
B.如果提示main.lua找不到,打开C++工程的AppDelegate.cpp,找到engine->executeScriptFile("src/main.lua"); 改为绝对路径
C.main.lua已找到,app.MyApp没找到,在main.lua中加入package.path = package.path .. ";D:/QuickCocos/game2/src/" 加入src绝对路径
(调试运行需要账号处于登录状态!)
11b.在main.lua中加入调试相关代码, F5启动调试(调试运行需要账号处于登录状态!)
(调试运行需要账号处于登录状态!)
local breakSocketHandle,debugXpCall = require("LuaDebugjit")("localhost",7003)
cc.Director:getInstance():getScheduler():scheduleScriptFunc(breakSocketHandle, 0.3, false)
三 VSCode+EmmyLua(免费)
6c.在VS Code中下载EmmyLua插件
若下载其他Lua插件需要保证只安装一个Lua插件
7c.创建启动配置文件launch.json
8b.配置launch.json
9c.F5启动调试
TIP:在EmmyLua使用期间若按F5无法进入调试,可能是杀毒软件阻止了插件的正常工作
解决步骤:关闭杀毒软件,在C:\Users\用户名.vscode\extensions目录下把EmmyLua所在文件夹删掉,在VSCode中卸载EmmyLua重新下载EmmyLua就可以解决了