如果您查看love.load的文档,则说明
此功能在游戏开始时只调用一次。
并没有别的。它还有一个参数,即命令行参数。
因此,如果您不使用args,那么有什么区别:
x = 5
-- rest of code
和
function love.load()
x = 5
end
-- rest of code
避免love.load
的最大好处是,您可以将x
设为本地而非全局。使用love.load
是否有任何好处?
答案 0 :(得分:2)
我认为简单值(例如您在示例中显示的内容)没有任何区别,但是使用love.graphics
或其他组件的更复杂的代码需要从love.load
执行因为它可以保证发动机在那时正确设置和初始化。
答案 1 :(得分:2)
在main.lua
运行之后,Love调用love.run
,它持有主游戏循环。 love.run
所做的第一件事就是调用love.load(...)
,其中...
包含游戏的命令行参数,您可能会觉得这些参数很有用。
这意味着,love.load
在所有main.lua
代码后运行,但在love.draw
之前,love.update
和类似代码开始被调用
这有什么价值,主要取决于你自己。
答案 2 :(得分:1)
就像你说的那样,love.load()只在开头运行一次,因此非常适合初始化变量。可以更频繁地加载在该函数之外设置的所有内容。
尝试创建conf.lua文件并激活控制台。然后在love.load()之外打印()一些东西,你就会看到。
-- conf.lua
function love.conf(t)
t.console = true
end
-- main.lua
print("Hello World!")
function love.load()
end
对我而言,它始终打印着#Hello; Hello World!"开始游戏时两次。
就像Paul Kulchenko所说,它可能与简单的价值观没有任何区别,但你永远不会知道...;)