Lua的独立时间框架?

时间:2011-04-22 02:36:36

标签: time timer lua frame-rate love2d

我正在使用Love2D为我和我的朋友创建一个小游戏,但是,我遇到了一个问题: 我想计算经过的时间,与帧速率无关。我正在尝试这个但是轻微的错误加起来并最终在1/100秒内传递'秒'。

local last_time = os.time()

function timeofday_update()
    world_time = world_time + os.time() - last_time
end

2 个答案:

答案 0 :(得分:5)

为什么不在程序开头或者每当(start_time = os.time())开始时标记时间,然后'当前经过的时间'就是os.time() - starting_time。没有必要积累......

答案 1 :(得分:2)

function make_stopwatch ()
    local start = 0
    local finish = 0
    local function sw (cmd)
        if cmd == "start" then
            start = os.time()
            return 0
        end
        if cmd == "lap" then
            return os.difftime(os.time(), start)
        end
        if cmd == "stop" then
            finish = os.time()
        end
        return os.difftime(finish, start)
    end
    return sw 
end

演示:

> sw = make_stopwatch()
> =sw("start")
0
> =sw("lap")
16
> =sw "lap"
22
> =sw "lap"
28
> =sw "stop"
42
> = sw()
42
> = sw()
42
> = sw "start"
0
> = sw "lap"
8
>