如何在 love2d 中使用外部库
How to use external library with love2d
我正在尝试将 luafun
库与 love2d
一起使用。
运行 lua main.lua
,但是 love .
抱怨缺少 fun
库。
我已经安装了 luafun
和 luarocks
。
有两个选项。
如果你想分发你正在构建的任何东西,你几乎肯定不希望用户安装 Lua、luarocks 等等 - 所以最好的方法是简单地将任何库放入你的 game/program/... 所在的文件夹。(如果一个库包含编译的东西,你需要根据 platform/OS 构建,然后你实际上需要一个构建过程来吐出各种变体, 但如果全是-Lua, 没有特定于平台的东西, 所以只需复制它即可。)
另一个选项(主要是当你只需要它在你的机器上工作时)是调整 package.path
然后 love
会发现一切正常。如果您在计算机上使用 LUA_INIT
/ LUA_PATH
,Love 会忽略它们,但您可以使用 os.getenv
、dofile
/ load(code)()
和朋友手动获取和处理它们。 (作为最简单的特殊情况,如果 luarocks 安装在标准 Lua 搜索路径中,说 require "luarocks.loader"
可能足以让所有 luarocks 安装的包工作。)
我正在尝试将 luafun
库与 love2d
一起使用。
运行 lua main.lua
,但是 love .
抱怨缺少 fun
库。
我已经安装了 luafun
和 luarocks
。
有两个选项。
如果你想分发你正在构建的任何东西,你几乎肯定不希望用户安装 Lua、luarocks 等等 - 所以最好的方法是简单地将任何库放入你的 game/program/... 所在的文件夹。(如果一个库包含编译的东西,你需要根据 platform/OS 构建,然后你实际上需要一个构建过程来吐出各种变体, 但如果全是-Lua, 没有特定于平台的东西, 所以只需复制它即可。)
另一个选项(主要是当你只需要它在你的机器上工作时)是调整 package.path
然后 love
会发现一切正常。如果您在计算机上使用 LUA_INIT
/ LUA_PATH
,Love 会忽略它们,但您可以使用 os.getenv
、dofile
/ load(code)()
和朋友手动获取和处理它们。 (作为最简单的特殊情况,如果 luarocks 安装在标准 Lua 搜索路径中,说 require "luarocks.loader"
可能足以让所有 luarocks 安装的包工作。)