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是不能被识别的。 原文链接:https://www.f2er.com/cocos2dx/346459.html