Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Exemple d'utilisation du module "timers" destiné à facilité la création de timers
- -- CODE SOURCE DU MODULE TIMERS
- timers = {}
- timers.id = 0
- timers.list = {}
- timers.toremove = {}
- timers.new = function ( tic, loop, ... )
- timers.id = timers.id + 1
- local id = timers.id
- local time = 0
- local fct = {...}
- local timer = function()
- time = time + 1
- if time >= tic then
- for _,f in ipairs(fct) do
- f()
- end
- if loop then time = 0
- else table.insert(timers.toremove, id)
- end
- end
- end
- timers.list[id] = timer
- return id
- end
- timers.remove = function ()
- while(#timers.toremove~=0) do
- timers.list[timers.toremove[1]] = nil
- table.remove(timers.toremove, 1)
- end
- end
- timers.loop = function()
- for id, timer in pairs(timers.list) do
- timer()
- end
- timers.remove()
- end
- timers.delete = function (id)
- timers.list[id] = nil
- end
- -- EVENTLOOP
- function eventLoop(current, left)
- timers.loop() -- IMPORTANT
- end
- -- CREATION DES FONCTIONS
- function unefonctionquicreeunefonctionquiafficheuneparticuleadescoordonneesdonnees( x, y )
- return function ()
- tfm.exec.displayParticle(15, x, y,0,0,0,0,nil)
- end
- end
- ui.addTextArea(1, "toutes les 1 secondes", nil, 50, 50, 135, 20)
- ui.addTextArea(2, "toutes les 2 secondes", nil, 250, 50, 135, 20)
- ui.addTextArea(3, "toutes les 2 secondes", nil, 450, 50, 135, 20)
- ui.addTextArea(4, "toutes les 2 secondes", nil, 650, 50, 135, 20)
- ui.addTextArea(5, "au bout de 10 secondes", nil, 50, 250, 135, 20)
- ui.addTextArea(6, "au bout de 10 secondes", nil, 250, 250, 135, 20)
- ui.addTextArea(7, "toutes les 5 secondes", nil, 450, 250, 135, 20)
- ui.addTextArea(8, "toutes les 5 secondes", nil, 650, 250, 135, 20)
- f1 = unefonctionquicreeunefonctionquiafficheuneparticuleadescoordonneesdonnees(100, 100)
- f2 = unefonctionquicreeunefonctionquiafficheuneparticuleadescoordonneesdonnees(300, 100)
- f3 = unefonctionquicreeunefonctionquiafficheuneparticuleadescoordonneesdonnees(500, 100)
- f4 = unefonctionquicreeunefonctionquiafficheuneparticuleadescoordonneesdonnees(700, 100)
- f5 = unefonctionquicreeunefonctionquiafficheuneparticuleadescoordonneesdonnees(100, 300)
- f6 = unefonctionquicreeunefonctionquiafficheuneparticuleadescoordonneesdonnees(300, 300)
- f7 = unefonctionquicreeunefonctionquiafficheuneparticuleadescoordonneesdonnees(500, 300)
- f8 = unefonctionquicreeunefonctionquiafficheuneparticuleadescoordonneesdonnees(700, 300)
- -- CREATION DES TIMES
- timers.new(2, true, f1) -- un +1 s'affiche toutes les secondes
- timers.new(4, true, f2,f3,f4) -- trois +1 s'affichent toutes les 2 secondes
- timers.new(20, false, f5,f6) -- deux +1 s'affichent une fois au bout de 10 secondes
- timers.new(10, true, f7,f8) -- deux +1 s'affichent toutes les 5 secondes
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement