[Love] VSCODE 调试 LOVE 引擎游戏

这篇具有很好参考价值的文章主要介绍了[Love] VSCODE 调试 LOVE 引擎游戏。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

VSCODE调试LOVE引擎游戏

安装插件


配置插件

CTRL + SHIFT + P,打开Preferences: Open User Settings (JSON),为settings.json添加如下代码

  "Lua.runtime.version": "LuaJIT",
  "Lua.diagnostics.globals": [
    "love",
  ],
  "Lua.workspace.library": [
    "${3rd}/love2d/library"
  ],
  "Lua.workspace.checkThirdParty": false,

添加系统环境变量


配置启动文件

Run and Debug配置launch.json,该文件将出现在你工作目录下的 .vscode 文件夹

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "lua-local",
      "request": "launch",
      "name": "Debug",
      "program": {
        "command": "love"
      },
      "args": [
        ".",
        "debug"
      ],
    },
    {
      "type": "lua-local",
      "request": "launch",
      "name": "Release",
      "program": {
        "command": "love"
      },
      "args": [
        ".",
      ],
    },
  ]
}

添加至 main.lua最顶部

if arg[2] == "debug" then
    require("lldebugger").start()
end

添加至main.lua最底部(可选)

出错信息不会显示在游戏窗口画面上,而是直接定位到当前错误的行

local love_errorhandler = love.errhand

function love.errorhandler(msg)
    if lldebugger then
        error(msg, 2)
    else
        return love_errorhandler(msg)
    end
end

关闭外部控制台

修改conf.lua,关闭t.console,否则调试器会无法获取到信息而卡住

-- conf.lua
love.conf = function(t)
    -- t.console = true
end

启动调试

按F5启动游戏,你现在可以选择两种方式来启动

  • Debug 可以调试游戏(需要设置断点)
  • Release 直接运行游戏

如果出现提示 '"love"' �����ڲ����ⲿ���Ҳ���ǿ����еij��� ���������ļ��� 只需要重启VSCODE


关于调试器

tomblind/local-lua-debugger-vscode: Local Lua Debugger for VSCode (github.com)文章来源地址https://www.toymoban.com/news/detail-667245.html

⭐ 快速模板

if arg[2] == "debug" then
  require("lldebugger").start()
end

-- your code

local love_errorhandler = love.errhand

function love.errorhandler(msg)
    if lldebugger then
        error(msg, 2)
    else
        return love_errorhandler(msg)
    end
end

{
  "version": "0.2.0",
  "configurations": [
    
    {
      "type": "lua-local",
      "request": "launch",
      "name": "Debug",
      "program": {
        "command": "love"
      },
      "args": [
        ".",
        "debug"
      ],
    },
    {
      "type": "lua-local",
      "request": "launch",
      "name": "Release",
      "program": {
        "command": "love"
      },
      "args": [
        ".",
      ],
    },
  ]
}

到了这里,关于[Love] VSCODE 调试 LOVE 引擎游戏的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Love2d从青铜到王者】第一篇:Love2d入门以及安装教程

    Love2D 是一款让开发者可以使用Lua语言进行开发的 2D游戏框架,免费且开源。其官网上有详细的介绍与手册,但需要科学上网且为全英文。Love2D 国外的开发者社区比较活跃,但国内的资料就比较少了,可能会有语言障碍。但Lua语言本身的简洁性加上框架的轻量级,英文的社区

    2024年02月11日
    浏览(40)
  • (蓝桥杯每日一题)love

    问题描述 马上就要到七夕情人节了,小蓝在这天想要心爱得男神表白,于是她写下了一个长度为n仅由小写字母组成的字符串。 她想要使这个字符串有 1314个 love 子序列但是马虎的小蓝却忘记了当前已经有多少个子序列为 love。 请你帮小蓝计算出当前字符串有多少个子序列为

    2024年01月21日
    浏览(46)
  • [CISCN 2019初赛]Love Math

    感慨自己实力不够,心浮气躁根本做不来难题。难得这题对我还很有吸引力,也涉及很多知识。只能说我是受益匪浅,总的来说加油吧ctfer。 利用php动态函数的特性 利用php中的数学函数实现命令执行 利用php7的特性,就是可以用变量执行函数 打开题目,源代码 简单分析一下

    2024年02月10日
    浏览(48)
  • buuctf [CISCN 2019 初赛]Love Math

    这题主要利用了php的一些特性 变量函数 数字转字符串 该php的功能是数值计算,数值计算可以使用指定的php数学函数,数学函数由 http://www.w3school.com.cn/php/php_ref_math.asp 这个链接的函数来指定 该题采用了黑名单和白名单的方式来过滤 这里采用可变字符来执行函数 但是_GET会被

    2024年02月11日
    浏览(32)
  • NSS [CISCN 2019初赛]Love Math

    开题直接给源码 代码分析: foreach():用来遍历一个数组 preg_match_all():搜索 content 中所有匹配给定正则表达式的匹配结果并且将它们输出到 used_funcs 中. preg_match_all(\\\'/[a-zA-Z_x7f-xff][a-zA-Z_0-9x7f-xff]*/\\\', $content, $used_funcs); 这行代码使用正则表达式匹配数学表达式中的函数名,并将

    2024年02月12日
    浏览(52)
  • [Lua][Love] 有效碰撞处理の类别与位掩码 | fixture:setFilterData

    假设在一个物理世界,不希望两个同类实体发生碰撞,那么 但是如果新加了可互动元素,如一种道具,只能跟玩家实体碰撞,那么 如果再加上其他东西,比如只有玩家可以推动的方块,代码量会飞速膨胀 假设游戏已经有几十种实体,我们可以根据实体在游戏内的作用归为五

    2024年02月11日
    浏览(30)
  • [Lua][Love] "图块集与地图" 加载显示功能 TileMap

    安装两个库,分别用来读xml和csv,如果有luarocks,执行下列命令 manoelcampos/xml2lua (github.com) FourierTransformer/ftcsv 引入要用的两个库,创建xml解析器, 读取xml解析到的数据是从handler.root里读的,而不是parser 在 love.load 执行两个回调函数加载图块集跟地图 在游戏窗口绘制各个图块,

    2024年02月11日
    浏览(42)
  • [Lua][Love Engine] 有效碰撞处理の类别与位掩码 | fixture:setFilterData

    假设在一个物理世界,不希望两个同类实体发生碰撞,那么 但是如果新加了可互动元素,如一种道具,只能跟玩家实体碰撞,那么 如果再加上其他东西,比如只有玩家可以推动的方块,代码量会飞速膨胀 假设游戏已经有几十种实体,我们可以根据实体在游戏内的作用归为五

    2024年02月12日
    浏览(40)
  • 了解游戏引擎,游戏引擎的选择:2D3D游戏开发

    常用的游戏开发引擎有很多,以下是一些在游戏开发领域中较为流行和广泛应用的引擎: 1. Unity游戏引擎 特点: 强大的跨平台支持,可以发布到多个平台,包括PC、移动设备和主机。 大量的插件和资产商店,便于开发者获取各种功能和资源。 相对易学易用,拥有大量的教程

    2024年03月10日
    浏览(53)
  • 【VScode】使用VScode内置的调试控制台来调试JS

    在 TEST 文件夹下有一个 javascript.js 文件,里面有一段 JS 代码,我想用 VScode 内置控制台打断点 1、切换到【运行和调试】,首次需要添加配置,设置 launch.json 文件。  2、launch.json 文件配置如下,注意 program 配置成 ${file},表示 是 当前打开的文件 ,这样一来我们每切换到另

    2024年02月12日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包