引言
在我使用vscode 来编写loved2d 项目文件时,我发现如果尽管在游戏代码中使用了lua里的print函数,但是在控制台并没有发现有对应的输出,这就给游戏的调试带来了困难。经过查询gpt得知,我们需要将解释器从love.exe改成lovec.exe。lovec.exe是自带控制台的版本,能正常让print函数输出。
其次我也找到了能够调试love2d的插件:local love debugger
因为需要调试所以需要先设置launch.json 文件,代码如下:
{
"version": "0.2.0", -- 设不设置无所谓
"configurations": [
{
"name": "Debug Love", -- 自定义设置
"type": "lua-local", -- 不能改
"request": "launch", -- launch:先游戏一运行就可以调试;attach:游戏运行后在调试
"program": {
"command": "love" -- program应该给出解释器路径,但是我们已经把love2d加入了环境变量,所以直接给love就行
},
"args": [ --相关的参数 “.”表示当前目录,“debug”表示调试模式
".",
"debug"
]
}
]
}
其次在<main.lua>文件中 的顶部(function love.load()之前)添加以下代码:
if os.getenv("LOCAL_LUA_DEBUGGER_VSCODE") == "1" then
require("lldebugger").start()
end
如此设置即可正常调试