function MainScene:ctor()
self.scheduler = require('framework.scheduler') -- 定义一个定时器
self.handler = self.scheduler.scheduleGlobal(function() -- 这里必须如此定义,否则self内的成员不可用,返回一个全局的定时器handler,用来取消定时
self:OnTimer()
end, 1) -- 每秒回调一次self.OnTimer函数
self.lab = cc.ui.UILable.new({UILabelType = 2, text = 'now', size = 64}) -- 一个lable控件
:align(display.CENTER, display.cx, display.cy)
:addTo(self)
end
function MainScene:OnTimer() --
loacl data = os.date('%H:%M:%S')
self.lab:setString(data)
-- self.scheduler.unscheduleGlobal(self.handler) -- 此行取消注释的话可停止该定时器
end
在lua中使用一个定时器的demo,基于quick cocos2dx 3.x版本。
需要注意的是,function的格式必须是这样子的,而不能是以下的形式:
self.handler = self.scheduler.scheduleGlobal(self.OnTimer(), 1)
若是这样子定义的话,在OnTimer里面的self是不能被识别的。