在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
参考链接: https://blog.csdn.net/qq_34035956/article/details/109255357 https://www.cnblogs.com/zhizihua/p/12857245.html https://www.showdoc.com.cn/luaide/713892723028836
0.环境 jdk、jre(EmmyLua插件需要) vscode、xlua 查看jdk是否安装成功:
1.设置 修改launch.json,其中的ideConnectDebugger,ide指的是vscode,Debugger指的是unity,这里设置为false即表示用unity来连接vscode { // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "emmylua_new", "request": "launch", "name": "EmmyLua New Debug", "host": "localhost", "port": 9966, "ext": [ ".lua", ".lua.txt", ".lua.bytes" ], "ideConnectDebugger": false } ] } 将这个dll复制粘贴到工程的Assets同级目录下
2.代码 TestEmmyLua.lua local str = "start" for i = 1, 3 do str = "hello:" .. i end str = "end" c# using System.IO; using UnityEngine; using XLua; public class TestEmmyLua : MonoBehaviour { private LuaEnv luaenv; void Start() { luaenv = new LuaEnv(); string currentDirectory = Directory.GetCurrentDirectory(); if (File.Exists(currentDirectory + "/emmy_core.dll")) { string str = @"xpcall(function() local dbg = require('emmy_core') dbg.tcpConnect('localhost', 9966) end, function() print('IDE没有开启调试') end)"; luaenv.DoString(str); } luaenv.AddLoader(CustomLoader); luaenv.DoString("require('TestEmmyLua')"); } private byte[] CustomLoader(ref string filePath) { //print(filePath); filePath = Application.dataPath + "/LuaScript/" + filePath + ".lua"; //print(filePath); byte[] bytes = File.ReadAllBytes(filePath); return bytes; } } 注意一下,CustomLoader方法的参数,需要修改为该文件的路径
3.运行 在vscode中设置好断点,点击左上角的运行按钮,此时下方会提示等待连接 运行unity,这时就会命中断点了 |
请发表评论