2013-02-14 34 views
-1

我工作的应用看你跑得多快,为此,我需要一个函数,显示你的最高速度已。但无法找到我的工作方式。如何获得lua中的最大数值?

local speedText = string.format('%.3f', event.speed) 
speed.y = 250 
speed.x = 125 
local numValue = tonumber(speedText)*3.6 
if numValue ~= nil then 
    speed.text = math.round(numValue) 
end 

我已将我的speedText设为上面显示的数字。

我Conora SDK/Lua的

+0

我不能你已了解代码。你想比较多个“速度”对象吗?你能给我们一个函数头吗? – Makah 2013-02-14 12:32:59

回答

2

你应该给出更多的信息,当你问堆栈溢出的问题,但让我们尽力帮助你反正程序。

你的代码可能是一个事件监听器,看起来像这里面:

local listener = function(event) 
    local speedText = string.format('%.3f', event.speed) 
    speed.y = 250 
    speed.x = 125 
    local numValue = tonumber(speedText)*3.6 
    if numValue ~= nil then 
     speed.text = math.round(numValue) 
    end 
end 

显示当前速度。如果你想显示的最高速度,而不是,只是做这样的事情:

local maxSpeed = 0 
local listener = function(event) 
    local speedText = string.format('%.3f', event.speed) 
    speed.y = 250 
    speed.x = 125 
    local numValue = tonumber(speedText)*3.6 or 0 
    if numValue > maxSpeed then 
     maxSpeed = numValue 
     speed.text = math.round(numValue) 
    end 
end 

的想法是:你需要定义监听器(或全局)变量来存储先前的最高速度。每次调用事件监听器时,如果当前速度高于先前的最大速度,则它是新的最大速度,因此您可以保存并显示它。