Difference between revisions of "Timer"
m (separated class methods from functions methods) |
m (Text replacement - "</source>" to "</syntaxhighlight>") |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | |||
<!-- GIDEROSOBJ:Timer --> | <!-- GIDEROSOBJ:Timer --> | ||
− | ''' | + | '''Supported platforms:''' [[File:Platform android.png]][[File:Platform ios.png]][[File:Platform mac.png]][[File:Platform pc.png]][[File:Platform html5.png]][[File:Platform winrt.png]][[File:Platform win32.png]]<br/> |
− | ''' | + | '''Available since:''' Gideros 2011.6<br/> |
− | ''' | + | '''Inherits from:''' [[Object]]<br/> |
− | === | + | === Description === |
− | The | + | The '''Timer''' class is used to execute a code at specified intervals. |
− | The listener functions are registered through [[ | + | The listener functions are registered through [[Event.TIMER]] and [[Event.TIMER_COMPLETE]] events. |
− | === | + | === Example === |
− | < | + | '''Rotates a pixel 360°''' |
− | + | <syntaxhighlight lang="lua"> | |
-- let's define a pixel and add it to the stage | -- let's define a pixel and add it to the stage | ||
local mypixel = Pixel.new(0xff0000, 1, 64, 64) | local mypixel = Pixel.new(0xff0000, 1, 64, 64) | ||
Line 31: | Line 30: | ||
timer:addEventListener(Event.TIMER, onTimer, timer) | timer:addEventListener(Event.TIMER, onTimer, timer) | ||
timer:start() | timer:start() | ||
− | </ | + | </syntaxhighlight> |
{|- | {|- | ||
| style="width: 50%; vertical-align:top;"| | | style="width: 50%; vertical-align:top;"| | ||
− | === | + | === Methods === |
− | [[ | + | [[Timer.delayedCall]] ''delay calls a function after a set amount of time''<br/><!--GIDEROSMTD:Timer.delayedCall(delay,func,data) delay calls a function after a set amount of time--> |
− | <!-- GIDEROSMTD:Timer.delayedCall(delay,func,data) | + | [[Timer.new]] ''creates a new Timer object''<br/><!--GIDEROSMTD:Timer.new(delay,repeatCount) creates a new Timer object--> |
− | [[ | + | [[Timer.pauseAll]] ''pauses all timers''<br/><!--GIDEROSMTD:Timer.pauseAll() pauses all timers--> |
− | <!-- GIDEROSMTD:Timer.new(delay,repeatCount) creates a new Timer object --> | + | [[Timer.resumeAll]] ''resumes all timers''<br/><!--GIDEROSMTD:Timer.resumeAll() resumes all timers--> |
− | [[ | + | [[Timer.stopAll]] ''stops all timers''<br/><!--GIDEROSMTD:Timer.stopAll() stops all timers--> |
− | <!-- GIDEROSMTD:Timer.pauseAll() | ||
− | [[ | ||
− | <!-- GIDEROSMTD:Timer.resumeAll() | ||
− | [[ | ||
− | <!-- GIDEROSMTD:Timer.stopAll() | ||
− | [[ | + | [[Timer:getCurrentCount]] ''returns the current trigger count of the timer''<br/><!--GIDEROSMTD:Timer:getCurrentCount() returns the current trigger count of the timer--> |
− | <!-- GIDEROSMTD:Timer:getCurrentCount() returns the current trigger count of the timer --> | + | [[Timer:getDelay]] ''returns the time interval between timer events in milliseconds''<br/><!--GIDEROSMTD:Timer:getDelay() returns the time interval between timer events in milliseconds--> |
− | [[ | + | [[Timer:getRepeatCount]] ''returns the number of repetitions the timer will make''<br/><!--GIDEROSMTD:Timer:getRepeatCount() returns the number of repetitions the timer will make--> |
− | <!-- GIDEROSMTD:Timer:getDelay() returns the time interval between timer events in milliseconds --> | + | [[Timer:isRunning]] ''returns the current running status of timer''<br/><!--GIDEROSMTD:Timer:isRunning() returns the current running status of timer--> |
− | [[ | + | [[Timer:pause]] ''pauses timer''<br/><!--GIDEROSMTD:Timer:pause() pauses timer--> |
− | <!-- GIDEROSMTD:Timer:getRepeatCount() returns the number of repetitions the timer will make --> | + | [[Timer:reset]] ''stops the timer and sets the currentCount property to 0''<br/><!--GIDEROSMTD:Timer:reset() stops the timer and sets the currentCount property to 0--> |
− | [[ | + | [[Timer:setDelay]] ''sets the time interval between timer events in milliseconds''<br/><!--GIDEROSMTD:Timer:setDelay(delay) sets the time interval between timer events in milliseconds--> |
− | <!-- GIDEROSMTD:Timer:isRunning() returns the current running status of timer --> | + | [[Timer:setRepeatCount]] ''sets the number of repetitions the timer will make''<br/><!--GIDEROSMTD:Timer:setRepeatCount(repeatCount) sets the number of repetitions the timer will make--> |
− | [[ | + | [[Timer:start]] ''starts the timer''<br/><!--GIDEROSMTD:Timer:start() starts the timer--> |
− | <!-- GIDEROSMTD:Timer:reset() stops the timer and sets the currentCount property to 0 --> | + | [[Timer:stop]] ''stops the timer''<br/><!--GIDEROSMTD:Timer:stop() stops the timer--> |
− | [[ | ||
− | <!-- GIDEROSMTD:Timer:setDelay(delay) sets the time interval between timer events in milliseconds --> | ||
− | [[ | ||
− | <!-- GIDEROSMTD:Timer:setRepeatCount(repeatCount) sets the number of repetitions the timer will make --> | ||
− | [[ | ||
− | <!-- GIDEROSMTD:Timer:start() starts the timer --> | ||
− | [[ | ||
− | <!-- GIDEROSMTD:Timer:stop() stops the timer --> | ||
| style="width: 50%; vertical-align:top;"| | | style="width: 50%; vertical-align:top;"| | ||
− | === | + | === Events === |
− | [[ | + | [[Event.TIMER]]<br/><!--GIDEROSEVT:Event.TIMER timer--> |
− | <!-- GIDEROSEVT:Event.TIMER timer --> | + | [[Event.TIMER_COMPLETE]]<br/><!--GIDEROSEVT:Event.TIMER_COMPLETE timerComplete--> |
− | [[ | + | === Constants === |
− | <!-- GIDEROSEVT:Event.TIMER_COMPLETE timerComplete --> | ||
− | === | ||
|} | |} | ||
+ | |||
+ | {{GIDEROS IMPORTANT LINKS}} |
Latest revision as of 14:33, 13 July 2023
Supported platforms:
Available since: Gideros 2011.6
Inherits from: Object
Description
The Timer class is used to execute a code at specified intervals.
The listener functions are registered through Event.TIMER and Event.TIMER_COMPLETE events.
Example
Rotates a pixel 360°
-- let's define a pixel and add it to the stage
local mypixel = Pixel.new(0xff0000, 1, 64, 64)
mypixel:setPosition(64, 64)
stage:addChild(mypixel)
function onTimer(event)
-- add 1 degree each time the function is called
mypixel:setRotation(mypixel:getRotation() + 1)
end
-- create our timer and add an event listener
-- 24 = delay in milliseconds
-- (optional) 360 = number of repetitions (here the result is 360 degrees)
local timer = Timer.new(24, 360)
-- local timer = Timer.new(24) -- to run indefinitely
timer:addEventListener(Event.TIMER, onTimer, timer)
timer:start()
MethodsTimer.delayedCall delay calls a function after a set amount of time Timer:getCurrentCount returns the current trigger count of the timer |
EventsEvent.TIMER Constants |