Lua:什么时候调用函数?

时间:2013-02-28 07:53:55

标签: lua love2d

顺便使用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

由于在绘图功能中打印testVar的命令,所做的只是打印“0”。所以它似乎在没有实际运行testFunction的情况下更新testVar值。这与Lua有关吗?

对于那些不熟悉Love的人来说,love.draw被称为每一帧,love.load只是最初。

1 个答案:

答案 0 :(得分:1)

此代码按预期工作。每帧(每秒多次)调用love.draw,因此第一帧的输出会被下一帧快速覆盖。通常在需要更改状态时使用love.update(例如,根据用户输入)和love.draw在屏幕上绘制该状态(每帧)。