标题。只允许保存到特定目录,但是否有办法使用它制作的可执行文件更新自身?我已经有了检查是否过期的代码(HttpGet),但不确定如何安装更新。
主要原因是人们抱怨不断重新下载我的RPG。将其与C#自动更新程序打包并运行会更容易吗?
if not love.filesystem.exists("expo.png") then
local http = require("socket.http")
local b, c, h = http.request("http://love2d.org/w/images/e/e3/Resource-AnalExplosion.png")
love.filesystem.write("expo.png", b)
end
/AdvTiledLoader/external/gunzip.lua
文件实现的。version.lua
的文件,并将其与服务器上的文件进行比较(http://www.your-server.com/latest-version-number)。那个文件只包含一个数字,例如 "48"。
2. 如果没有文件且无法联系服务器,则出错“无法下载游戏”。
3. 如果没有文件或当前版本小于服务器上的最新版本,则从服务器下载zip文件(http://www.your-server.com/latest.zip)。
4. 如果成功下载latest.zip,则删除/latest目录中的所有内容并在新的latest上解压缩latest.zip。使用新版本更新version.lua(返回48)。
5. 检测是否正在离线工作-如果无法下载latest.zip或version,但已经存在version.lua和latest文件夹,则仅发出警告,而不是错误。
6. 要求包含真正游戏的文件;可能类似于require 'latest.main'
注意:
love.filesystem
保存的内容(这些将进入游戏分配的保存文件夹)应该会覆盖您游戏的 .love 文件的内容。我不确定这是否适用于代码文件,但至少对其他资源有效。 - nkorthrequire
加载之前更新代码文件,我认为它应该可以工作。 - Xeozim