Lua:何时调用函数?

顺便说一下,我正在使用 Love 框架。

好了,我想要创建一个随机地图生成。很显然我只想画一次,所以我尝试设置一个非常基本的结构。但它不起作用,我想不出为什么。

function love.load()
    testVar = 1
end

function love.draw()
    if testVar == 1 then
        testFunction()
        love.graphics.print("Update", 20, 200)
    end

    love.graphics.print(testVar, 100, 100)
end

function testFunction()
    love.graphics.print("Success", 20, 300)
    testVar = 0
end

它只打印“0”,感谢 draw 函数中的打印 testVar 命令。因此看起来它更新了 testVar 值,但实际上没有运行 testFunction。这是 Lua 的缘故吗?

对于那些不熟悉 Love 的人,love.draw 在每一帧都会被调用,love.load 只会被调用一次。

点赞
用户1442917
用户1442917

这段代码按预期工作。只是 love.draw 每帧都会被调用(每秒多次),因此第一帧的输出很快被下一帧覆盖。通常情况下,当需要更改状态时(例如,基于用户输入),使用 love.update,而使用 love.draw 在屏幕上绘制该状态(每帧)。

2013-02-28 16:23:49