2

我正在使用 2D 框架“LÖVE”制作 Lua 游戏。

我需要知道如何用它制作一个 .exe 文件!我已经完成了命令行,成功压缩了我的 main.lua 和图像,我已将文件扩展名重命名为 .exe!当我运行 .exe 时,会出现一个文件提取应用程序。这不应该发生,对吧?我希望它作为游戏运行,而不是作为自解压应用程序运行。帮助?

4

2 回答 2

4

从它的声音来看,您正在尝试使用 .exe 扩展名保存您的“lovechive”;假设您打算创建一个自提取器,您的存档器可能“有帮助”,而您没有这样做。


好的,让我们先来谈谈可运行的“lovechives”是如何工作的:当love.exe启动时,它首先检查自己的名字,如果它被称为其他东西,love或者love.exe它立即检查是否有东西粘在它的末尾。如果有,那么它会尝试将其解释为“lovechive”。

所以基本上,我们想在爱的底部贴一个 zip 文件(别担心,它喜欢它)。

  1. 首先为您的游戏目录创建一个普通的 zip 存档。
    • 请记住检查您实际上并不打算运送的任何东西;大量包含源代码备份副本、测试艺术品和人们的购物清单的爱情游戏已经问世。不要成为一个统计数字。
  2. 文件名与这里所做的事情无关,所以不要担心将其重命名为.love. 只要确保您拥有的是普通的普通拉链即可。
  3. 下一步取决于你的主机平台,但基本上你现在需要做整个“坚持爱的底部”部分,通常这是从命令行完成的:

    • copy /b love.exe+YourGame.zip TheGame.exe
      在Windows 上,命令是:love.exe主“love”可执行文件YourGame.zip的名称是包含您的游戏的 zip 文件的名称,并且TheGame.exe是您希望最终游戏可执行文件的名称。
    • 在 Linux 或 OSX 上,命令是:“love”主可执行文件的名称
      cat love YourGame.zip > TheGame
      在哪里,包含游戏的 zip 文件的名称,以及您希望最终游戏可执行文件的名称。loveYourGame.zipTheGame

这些替换相关文件名应该可以让您为 Linux 和 Windows 生成版本(我所知道的关于制作“合并”OSX 应用程序的是它更复杂。)


作为记录,从“合并”游戏中提取文件是非常简单的。通常无非就是更改文件扩展名,有时甚至没有。不,zip 加密在这里没有帮助;它不会运行,因为爱无法读取存档。(非常明智,真的。)

最后,如果您向 Love 社区分发,他们通常更喜欢您只给他们“lovechive”。

于 2013-08-24T04:29:47.900 回答
1

来自https://love2d.org/wiki/Game_Distribution

这是在 Windows 上执行此操作的方法。在控制台中,键入:

copy /b love.exe+game.love game.exe

然后,您所要做的就是压缩 game.exe 和所需的 DLL,然后分发它们。是的; 这确实意味着游戏将拥有 LÖVE 的私人副本,但这并没有错。这也意味着您必须为想要支持的每个平台创建一个包,或者只为其他平台单独提供 .love。

于 2013-02-06T21:49:10.677 回答