宽度基于两个时间值之间的差异

时间:2016-05-04 21:02:14

标签: lua

运行函数时,它会保存两个值:

  1. os.clock()+ int
  2. os.clock()
  3. 如此示例值:

    1. 2795.100
    2. 2790.100
    3. (5秒差异)

      所以当调用这个函数时,我需要绘制一个条形图,此时它将以0%宽度绘制,当os.clock()返回2792.550时它应该是50%宽度,os .clock ()返回2795.100,它应该是100%宽度。

      我正在尝试找到数学逻辑:

      1. 根据这两个值之间的差异,确定1%的像素数,因此我可以使用os.clock()来计算条形长度
      2. 我一直在努力解决这个问题,但我没有使用代码来展示。因为在示例值中,两个值之间存在5秒的差异,我想绘制一个宽度为0%的条形,在5秒内增长到100%。

1 个答案:

答案 0 :(得分:1)

这只是基本的数学。

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

--                        how far current value is from start  / entire length of interval of allowed values
local fill_percentage = ((current_value - interval_start) / (interval_end - interval_start))
local fill_width      = bar_max_width * fill_percentage


print(fill_percentage, fill_width)

将其中一个值输入您使用的任何绘图工具。