根据两个时间值的差异确定宽度

当一个函数被执行时,它保存了两个值:

  1. os.clock() + int
  2. os.clock()

例如值如下:

  1. 2795.100
  2. 2790.100

(_两个值相差5秒_)

当这个函数被调用时,我需要绘制一条进度条,此时它的宽度为0%,当os.clock()返回2792.550 时,应该将其宽度设置为50%,os.clock()返回2795.100时,则宽度应该为100%。

我正在努力找到数学逻辑:

  1. 根据这两个值之间的差异,决定一个百分点有多少像素,这样我就可以使用os.clock()来计算进度条的长度。

我一直在苦苦挣扎,但是我没有可用的代码可供展示。由于在示例值中两个值之间相差5秒,并且我想绘制一条进度条,从0%的宽度增长到在5秒内达到100%的宽度。

点赞
用户936986
用户936986

这只是基本数学。

local interval_start = 2790.100
local interval_end   = 2795.100
local current_value  = 2792
local bar_max_width  = 350

-- 将当前值距离起始值的距离除以允许值的整个区间长度
local fill_percentage = ((current_value - interval_start) / (interval_end - interval_start))
local fill_width      = bar_max_width * fill_percentage

print(fill_percentage, fill_width)

向你使用的任何绘图工具提供其中一个值。

2016-05-04 22:47:12