Skip to content
Aaron H edited this page Dec 10, 2016 · 2 revisions

Information

The progress bar object functions like a normal progress bar. The progress bar object can lerp and perform a function when it reaches it's maximum value.

Example Use

local frame = loveframes.Create("frame")
frame:SetName("Progress Bar")
frame:SetSize(500, 160)
frame:CenterWithinArea(unpack(demo.centerarea))
         
local progressbar = loveframes.Create("progressbar", frame)
progressbar:SetPos(5, 30)
progressbar:SetWidth(490)
progressbar:SetLerpRate(10)
         
local button1 = loveframes.Create("button", frame)
button1:SetPos(5, 60)
button1:SetWidth(490)
button1:SetText("Change bar value")
button1.OnClick = function(object2, x, y)
    progressbar:SetValue(math.random(progressbar:GetMin(), progressbar:GetMax()))
end
         
local button2 = loveframes.Create("button", frame)
button2:SetPos(5, 90)
button2:SetWidth(490)
button2:SetText("Toggle bar lerp")
button2.OnClick = function(object2, x, y)
    if progressbar:GetLerp() == true then
        progressbar:SetLerp(false)
    else
        progressbar:SetLerp(true)
    end
end
         
local slider = loveframes.Create("slider", frame)
slider:SetPos(5, 135)
slider:SetWidth(490)
slider:SetText("Progressbar lerp rate")
slider:SetMinMax(0, 50)
slider:SetDecimals(0)
slider:SetValue(10)
slider.OnValueChanged = function(object2, value)
    progressbar:SetLerpRate(value)
end
         
local text1 = loveframes.Create("text", frame)
text1:SetPos(5, 120)
text1:SetText("Lerp Rate")
text1:SetFont(love.graphics.newFont(10))
         
local text2 = loveframes.Create("text", frame)
text2:SetFont(love.graphics.newFont(10))
text2.Update = function(object, dt)
    object:SetPos(slider:GetWidth() - object:GetWidth(), 120)
    object:SetText(slider:GetValue())
end

Event Callbacks

OnComplete

Called when the object reaches it's maximum value

Arguments passed: self [object]

local progressbar = loveframes.Create("progressbar")
progressbar.OnComplete = function(object)
    print("Complete!")
end

Methods

SetMax

Sets the object's maximum value

object:SetMax(max[number])

GetMax

Gets the object's maximum value

Returns 1 value: max [number]

local max = object:GetMax()

SetMin

Sets the object's minimum value

object:SetMin(min[number])

GetMin

Gets the object's minimum value

Returns 1 value: min [number]

local min = object:GetMin()

SetMinMax

Sets the object's minimum and maximum values

object:SetMinMax(min[number], max[number])

GetMinMax

Gets the object's minimum and maximum values

Returns 2 values: minimum [number], maximum [number]

local min, max = object:GetMinMax(min[number], max[number])

SetValue

Sets the object's value

object:SetValue(value[number])

GetValue

Gets the object's value

Returns 1 value: value [number]

local value = object:GetValue()

SetLerp

Sets whether the object should lerp or not

object:SetLerp(lerp[boolean])

GetLerp

Gets whether the object should lerp or not

Returns 1 value: lerp [boolean]

local lerp = object:GetLerp()

SetLerpRate

Sets the rate at which the object should lerp

object:SetLerpRate(lerp[number])

GetLerpRate

Gets the rate at which the object should lerp

Returns 1 value: lerprate [number]

local lerprate = object:GetLerpRate()

GetCompleted

Gets whether or not the object has reached it's maximum value

Returns 1 value: completed [boolean]

local completed = object:GetCompleted()

GetBarWidth

Gets the object's bar width

Returns 1 value: bar width [number]

local completed = object:GetCompleted()