在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
今天在开发的时候,涉及到了使用倒计时来显示。 首先自己的思路是: 1、设计显示的Lable。 2、对传入的时间进行处理,转成字符串00:00:00。通过调用回调函数来控制一秒刷新一次。 转换算法: 1 h = math.floor(time / 3600), 2 m = math.floor((time % 3600) / 60), 3 s = math.floor((time % 3600) % 60)。 3、设置回调函数,通过延时一秒和调用Label显示函数。 代码如下: 1 function TimeNumLayer:__init() 2 Layer.__init(self) 3 4 self.start_time = 0 5 self.run_time = 0 6 7 self.time_label = Label.CreateWithString(" ", GlobalConfig.FontType, 10) 8 self:AddChild(self.time_label) 9 self.time_label:SetPosition(0, 0) 10 11 self.cd_time = self.cd_time or 0 12 self:Start() 13 end 14 15 function TimeNumLayer:Update(interval) 16 self.run_time = self.run_time + interval 17 local cd_time = 0 18 19 if self.cd_time > 0 then 20 cd_time = self.cd_time - self.run_time 21 end 22 23 if cd_time < 0 then 24 cd_time = 0 25 end 26 self.time_label:SetString(LogicHandle.Get24FormatStr(cd_time)) 27 end 28 29 function TimeNumLayer:Start() 30 self.start_time = game_app.game_server_time 31 self.cd_time = game_app.pet_call_info.PerfectTime 32 self.run_time = 0 33 end
|
请发表评论