Difference between revisions of "Core.asyncCall"
m (→Examples) |
m (Text replacement - "<source" to "<syntaxhighlight") |
||
Line 4: | Line 4: | ||
=== Description === | === Description === | ||
Launches a function on a separate thread as a background task. | Launches a function on a separate thread as a background task. | ||
− | < | + | <syntaxhighlight lang="lua"> |
Core.asyncCall(task,parameters) | Core.asyncCall(task,parameters) | ||
</source> | </source> | ||
Line 15: | Line 15: | ||
=== Examples === | === Examples === | ||
− | < | + | <syntaxhighlight lang="lua"> |
local function scaleTextsAndBtn() | local function scaleTextsAndBtn() | ||
local tempFontScale=1.02 | local tempFontScale=1.02 | ||
Line 38: | Line 38: | ||
'''asyncCall used in a Class and with parameters''' | '''asyncCall used in a Class and with parameters''' | ||
− | < | + | <syntaxhighlight lang="lua"> |
if self.imgui:button("VALIDATE") then | if self.imgui:button("VALIDATE") then | ||
-- self:gotoScene("levelX") | -- self:gotoScene("levelX") |
Revision as of 14:26, 13 July 2023
Available since: Gideros 2016.06
Class: Core
Description
Launches a function on a separate thread as a background task. <syntaxhighlight lang="lua"> Core.asyncCall(task,parameters) </source>
Background threads are only executed when the main thread is not running.
Parameters
task: (function) function to run in background
parameters: (multiple) multiple parameters to pass to function optional
Examples
<syntaxhighlight lang="lua"> local function scaleTextsAndBtn() local tempFontScale=1.02
Core.yield(.2) txt1_noads:setScale(tempFontScale) Core.yield(.1) txt1_noads:setScale(1)
txt2_plusincome:setScale(tempFontScale) Core.yield(.1) txt2_plusincome:setScale(1)
Core.yield(.1) btn_OK:setScale(1.04) Core.yield(.2) btn_OK:setScale(1) end
Core.asyncCall(scaleTextsAndBtn) </source>
asyncCall used in a Class and with parameters <syntaxhighlight lang="lua"> if self.imgui:button("VALIDATE") then -- self:gotoScene("levelX") Core.asyncCall(LevelX.gotoScene, self, "levelX") -- or self.gotoScene, ... end ...
-- change scene function LevelX:gotoScene(xscene) scenemanager:changeScene( xscene, 1, transitions[math.random(1, #transitions)], easings[math.random(1, #easings)] ) end </source>