本文主要是介绍vscode调试unity-tolua,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.在VSCode的插件商店里搜索luaide安装该插件:
其中上面的第一个是收费版的,费用五块钱一个月蛮便宜的,喜欢VSCode做生产工具推荐还是用这个。虽然下面介绍的是免费的luaide-lite的配置,但luaide的配置几乎也差不多。
LuaDebugjit.lua下载地址:链接:https://pan.baidu.com/s/1zRyaMLX9jAMFzVqdjpdmCw
提取码:9ih3
2.把LuaDebugjit.lua放到脚本目录里,和作为程序入口的lua文件同级(一般是工程Lua文件根目录下的Main.lua 如:./xxxx/Lua/Main.lua)。这是用作调试的主文件。
3.在Main.lua中加入下面语句,用于调用LuaDebug:
local BREAKINFOFUNC, XPCALLFUNC = require("LuaDebugjit")("localhost", 7003)
coroutine.start( function() while true do coroutine.wait(0.1) BREAKINFOFUNC() end end)
(第一个参数是调试设备的地址,本地调试所以填的localhost;第二个端口参数用默认的7003就好了)
4. 确保LuaSocket开启。该项在LuaWraps下的LuaConst.cs文件里:
5.在LuaManager.cs 并添加如下代码
#region luaide 调试库添加
//如果项目中没有luasocket 请打开
[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
static int LuaOpen_Socket_Core(System.IntPtr L)
{return LuaDLL.luaopen_socket_core(L);
}protected void OpenLuaSocket()
{LuaConst.openLuaSocket = true;lua.BeginPreLoad();lua.RegFunction("socket.core", LuaOpen_Socket_Core);lua.EndPreLoad();
}
#endregion
6.并在上面文件OpenLibs 方法中调用 OpenLuaSocket()
/// <summary>
/// 初始化加载第三方库
/// </summary>
void OpenLibs() {lua.OpenLibs(LuaDLL.luaopen_pb); lua.OpenLibs(LuaDLL.luaopen_sproto_core);lua.OpenLibs(LuaDLL.luaopen_protobuf_c);lua.OpenLibs(LuaDLL.luaopen_lpeg);lua.OpenLibs(LuaDLL.luaopen_bit);//luaide socket 开启lua.OpenLibs(LuaDLL.luaopen_socket_core); this.OpenLuaSocket(); this.OpenCJson();
}
7. 生成调试配置:
8.选择Unity-Remote(Lua):
9.先运行VSCode上的调试再在Unity启动游戏。
这篇关于vscode调试unity-tolua的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!