1.2 KiB
1.2 KiB
schedule
Description
Schedules a function which gets called in a coroutine. After the coroutine is finished it will get destroyed immediatly. It's something like threads, but with some limits. A guide can be found here.
Parameters
functiona function which should get executed
Returns
functionit returns the function which you have to execute in order to start the coroutine
Usage
Creates a schedule which switches the color between red and gray:
local mainFrame = basalt.createFrame()
local aButton = mainFrame:addButton():setText("Click me")
aButton:onClick(basalt.schedule(function(self)
self:setBackground(colors.red)
os.sleep(0.1)
self:setBackground(colors.gray)
os.sleep(0.1)
self:setBackground(colors.red)
os.sleep(0.1)
self:setBackground(colors.gray)
os.sleep(0.1)
self:setBackground(colors.red)
os.sleep(0.1)
self:setBackground(colors.gray)
end))
Usage in XML layout:
<button text="Click me">
<onClick>
basalt.schedule(function()
local button = event[1]
button:setBackground(colors.lime)
os.sleep(1)
button:setBackground(colors.black)
end)()
</onClick>
</button>